Passer un objet à une fct
Hello,
J'ai une question surement très conne....voila le code source :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| #include <iostream>
using namespace std;
class A
{
public:
A(){
cout<<"constructeur"<<endl;
var=0;
}
A(A &a){
cout<<"constructeur de copy"<<endl;
a.var = 15;
}
int var;
};
void fct(A a)
{
cout<<a.var<<endl;
}
int main()
{
A obja;
obja.var = 12;
fct(obja);
cout<<obja.var<<endl;
return 0;
} |
Et le résultat :
constructeur
constructeur de copy
2009118740
15
J'ai du mal à comprendre pourquoi il affiche "2009118740" et non "15" !
Que se passe t-il vraiment lors de l'appel de cette fonction ?
merci...