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�.
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;
}
Puis dans 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);
};
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.

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