请问个关于对象的问题
程序如下:
#include <iostream>
using namespace std;
class A{
private:
int pri_a;
protected:
int pro_a;
public:
int pub_a;
A(){cout<<"A()\n";}
~A(){cout<<"~A()\n";}
};
class B{
private:
int pri_b;
protected:
int pro_b;
public:
int pub_c;
B(){cout<<"B()\n";}
~B(){cout<<"~B()\n";}
};
int main()
{
A a;
B b;
return 0;
}
为什么执行结果是:
A()
B()
~B()
~A()
而不是
A()
~A()
B()
~B()