Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
plane plane::operator + (plane p)
{
//	int x:
//x=passenger+p.passenger;
//cout << "?????"<<x<<endl;
	cout<<"passenger is : "<<passenger<<endl;
cout<<"p.passenger is : "<<p.passenger<<endl;
return plane(p.name,passenger+p.passenger);
}
quand je regarde a l'affichage ce que me donne p.passenger c'est la valeur 423522
or dans le main .cpp j'ai :
plane p1=plane("boeing",3);
plane p2=plane("airbus",1);
plane p3;
p3=p1+p2;
p1.display();
p3.display();// il m'affiche n'importe quoi !!! 423522 au lieu de 4
le int passenger se trouve definie dans la classe plane comme ceci :
protected:
int passenger;


plane("boeing",3); ets defini comme ceci :




Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
plane::plane(string a,int passengers)
{
passenger=passengers;
cout << "the plane is called " << a<< endl;
landingGearOn=true;
name=a;
 
}

avant de poster j'ai retourne le probleme mais je trouve pas la solution .