Bonjour,
J'ai une classe de base qui possède un "operator ="
J'ai une classe qui dérive de cette classe de base et qui possède aussi un "operator ="
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class CBase { public: ... CBase & operator = (const CBase & Other); ... private: ... des données membre ... }
Mon problème maintenant, comment dans "opérator =" de ma classe derivée appeler "operateur =" de la classe de base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class CDerive : public CBase { public: ... CDerive & operator = (const CDerive & Other); ... private: ... des données membre ... }
Une solution serait de déclarer les données membre de CBase en "protected" et d'affecter les variables membre de CBase dans CDerive mais j'aime pas trop.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 CDerive & CDerive::operator = (const CDerive & Other) { // recopie des donnees membre de la classe CDerive "des données membre" = Other."des données membre"; // recopie des donnee membre de la classe de base CBase // retourne l'instance de la classe return *this; }
Si quelqu'un avait une solution "propre", je suis preneur
Partager