Après quelques recherches infructueuses sur le forum,
je me décide à poster mon problème :

comme le dis le titre je cherche à modifier un héritage en cours de travail...

Supposons trois classes simplifiées qui imagent mon problème:
Le boulot : Prendre en charge un fichier pour l'ajouter ses infos dans une Base.

Une classe mère qui s'occupe de gérer les connexions à la base et la lecture ligne par ligne du fichier.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
class Mere{
Connection * MysqlConnect;
fstream fs_FileData
 
virtual bool maRequete =0;
}
Deux filles qui héritent de Mère et qui permettent de prendre en charge deux types différents de fichiers (différenciés par leur extension)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class FilleA{
  virtual bool maRequete{
    /*une requete*/
  }
}
 
class FilleB{
  virtual bool maRequete{
    /*une requete différente*/
  }
}
Voilà le but recherché :
Je cherche à mettre en place une fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
bool NewFile(NouveauFichier); //Permet la prise en charge d'un nouveau fichier
dans la classe Mère.
Celle-ci doit permettre de modifier flot sur le fichier (ça c'est simple)
mais j'aimerai également pouvoir prendre en charge un autre type de fichier.

Ce qui veut dire passer de FilleA à FilleB sans perdre la mère,
et surtout sans perdre la connection à la base de donnée !!

Je pensais modifier l'héritage sans pour autant détruire et recréer l'objet
Mais je ne sait pas du tout si c'est possible

Si quelqu'un à pas compris faut taper
et si quelqu'un a une meilleure définition pour le titre ca permettra d'aider les Rechercheurs