class A1{
public:
A1(){}
A1(const A1& rhs){}
void foo() {std::cout<<"Hello";}
};
class A2: public A1{
public:
A2(){}
A2(const A2& rhs){}
void foo1(A1&rhs){rhs.foo();}
void foo2(A1 a1){a1.foo();}
};
int main()
{
A2 a2;
A1 a1(a2);
a2.foo1(a1);
a2.foo2(a1);
}
Combien de fois le constructeur de copie de A1 est-il invoqué? Combien de fois le constructeur de copie de l'A2 est-il invoqué?constructeur de copie en C++
Est-ce que n'importe qui peut m'enseigner ceci? Merci!
Pour la réponse à , vous pouvez mettre quelque chose comme 'cout <<" dans le ctor de A1 "<< endl;' dans les constructeurs et lancer le code pour voir par vous-même. –
@Martinho - Si vous étiez encore plus paresseux, vous pourriez faire 'static int i = 0; std :: cout << ++ i << "e temps en A1" << std :: endl; ' –