"operator =" et dérivation de classe
Bonjour,
J'ai une classe de base qui possède un "operator ="
Code:
1 2 3 4 5 6 7 8 9 10 11
| class CBase
{
public:
...
CBase & operator = (const CBase & Other);
...
private:
...
des données membre
...
} |
J'ai une classe qui dérive de cette classe de base et qui possède aussi un "operator ="
Code:
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
...
} |
Mon problème maintenant, comment dans "opérator =" de ma classe derivée appeler "operateur =" de la classe de base
Code:
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;
} |
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.
Si quelqu'un avait une solution "propre", je suis preneur