Bonjour,

J'ai une classe de base qui possède 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
   ...
}
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 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 : 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;
}
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