Étant donné l'extrait de code suivant,
class Num
{
public:
Num(int iNumber = 0) : m_iNumber(iNumber) {}
Num operator+=(const Num& rhs)
{
this->m_iNumber = (this->m_iNumber + rhs.m_iNumber);
return *this;
}
private:
int m_iNumber;
};
//===========================================================
int _tmain(int argc, _TCHAR* argv[])
{
Num a(10);
Num b(100);
b += a;
return 0;
}
J'aimerais savoir comment surcharger correctement la fonction operator+=
.
Questions :
-
Comment définir la signature de cet opérateur ? En particulier, que doit-on utiliser pour la valeur de retour ?
-
Comment mettre en œuvre le corps de la fonction ?
-
Comment utiliser cet opérateur de surcharge ?
J'ai fourni une solution comme ci-dessus mais je crains qu'elle ne soit pas correcte.