[debutant] Utilisation de l'operateur = dans une classe
Bonjour je voudrais definir un operateur = pour ma classe plane.
Ca compile bien mais ca ne fait pas ce que je desire :
Code:
1 2 3 4 5 6 7
| plane plane::operator = (plane p)
{
p.name=name;
p.landingGearOn=landingGearOn;
p.OnAir=OnAir;
return p;
} |
C'est la definition de l'operateur dans plane.cpp
Dans le main j'ai
Code:
1 2 3 4 5 6
|
plane p= plane("abcd");
plane q(p);//c'est un copy constructor modifie : il na pas la meme valeur //pour name que p
q=p;
cout <<"the (q)name is " <<q.getName()<<endl; |
Quand j'execute le main il m'affiche :
[quote]
the (p)name is abcd
the (q)name is
p and q are not equals // c'est ici que j'ai fait q=p
the (q)name is //donc normalement on devrait avoir q name is abcd.