Constrcucteur par recopie et surcharge d'operateur =
bebert37
Messages postés38Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention16 février 2005
-
21 juil. 2003 à 14:36
bebert37
Messages postés38Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention16 février 2005
-
22 juil. 2003 à 09:44
quelqu'un pourrait-il m'exliquer comment ça se passe lors de l'utilisation du '=' en c++.
Je sais que lorsqu'on surcharge le egale le constructeur par recopie est appellé mais ou intervient'il ?
Si on crait un main comme le suivant
main(){
A* E1;
A E2;
on est passer dans la surcharge du =
on est passer par le recopieur
Mon Objet A
Or le code est fait de tel façon que normalement si on passe dans le recopieur on supprime la liste d'element. Mais la, bizarrement la liste d'element qui devrait etre supprimer y est encore puisque on a put lire le Nom du premiere element.
Si queqlu'un peut me renseigner ...
merci a vous !!!
tcok
Messages postés61Date d'inscriptionsamedi 7 juin 2003StatutMembreDernière intervention 3 août 2005 21 juil. 2003 à 19:44
en fait, l'operateur = est declaré avec comme parametre une reference sur l'objet. donc aucune copie n'est effectuée ...
la, il rentre ds la surcharge du =, jusque a tout est ok ..
enfin, le recopieur est appelé lorsque la fonction du = se termine et transmet un objet a son appelant (et non une reference) :)
bebert37
Messages postés38Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention16 février 2005 22 juil. 2003 à 09:44
C'est vrai s'est logique
merci bien.
Mais dans ce cas comment se fait-il que l'on puisse acceder aux liste alors que le constructeur par recopie les a effacées ??