Bonjour,
J'aimerais avoir une petite confirmation sur le probl�me suivant car je trouve que la m�thode est un peu lourde :
J'ai une classe de base : mere et des classes filles. La classe mere contient un pointeur que je veux initialiser lors de l'instanciation de toutes mes classes, pour cela j'ai un constructeur d�di�.
Puis dans les classes filles :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class mere { protected: UneClass *ObjPtr; public: mere(); mere(UneClass *UnObj) }; mere::mere(UneClass *UnObj) { // Initialisation ObjPtr = UnObj; }
Or quand j'appelle le constructeur de la classe fille avec le second constructeur fille(UneClass *UnObj), c'est le constructeur mere() qui est appel� en premier alors que j'aimerais que ce soit mere(UneClass *UnObj), qui en pratique n'est jamais appel�, pour traiter directement l'affectation (et le code qui va avec) uniquement dans la class mere. Alors qu'ici je suis oblig� de red�finir ce bout de code dans toute les classes filles.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 class fille : public mere { public: fille(); fille(UneClass *UnObj); };
Donc existe t-il un moyen de faire �a ou faut-il red�finir l'affectation dans toutes les classes fille (en passant �ventuellement par une m�thode plac�e dans la classe mere) ?
Merci pour vos conseils
Partager