#include
using namespace std;
class A
{
public:
A(){cout<<"A constructor\n";}
~A(){cout<<"A destroy\n";}
};
class B : public A
{
public:
B(){cout<<"B constructor\n";}
~B(){cout<<"B destroy\n";}
};
void func(A x){
A y = x;
}
void main()
{
B z;
func(z);
}
为什么func(z)中调用了 3 次A的析构函数?