Question Lngage C++

Résolu
simyamsmasters Messages postés 48 Statut Membre -  
simyamsmasters Messages postés 48 Statut Membre -
Bonjour a tous,

J aimerias savoir pourquoi est ce que a la fin de l instruction (operator=) nous somme toujours obligé de retourner l objet a lui meme.

Exemple:

ZString ZString::operator= (const ZString &chaine)
{
delete[] m_chaine;
m_chaine=copie(chaine.m_chaine);
m_longueur=chaine.m_longueur;

return *this;
}

Merci de bien vouloir me repondre;

5 réponses

fiddy Messages postés 11653 Statut Contributeur 1 847
 
Salut,
J aimerias savoir pourquoi est ce que a la fin de l instruction (operator=) nous somme toujours obligé de retourner l objet a lui meme.
Pour pouvoir enchaîner les affectations. Par exemple : objet1=objet2=objet3.
Cdlt
0
simyamsmasters Messages postés 48 Statut Membre 3
 
excuse moi

mais pourrais tu me donner plus d informations . sinon merci encore
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
objet1=objet2=objet3
Pour que cette instruction marche, il faut que tu renvoies nécessairement l'objet lui-même.
Ainsi cela appellera :
objet1.operator=(objet2.operator=(objet3))
Si objet2.operator=(objet3) ne renvoie pas l'objet, l'affectation en cascade ne marchera pas.

J'espère avoir été plus clair.
0
quendistu Messages postés 523 Statut Membre 87
 
je confirme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
simyamsmasters Messages postés 48 Statut Membre 3
 
Klar


Merci bien
0