问题
填空题
有如下程序: #include<iostream> using namespace std; class A{ public: A(){cout<<“A”;} ~A(){cout<<“A”;) }; class B{ A a; public, B(){cout<<“B”;} ~B(){cout<<“B”;} }; int main(){ B b; return 0; } 程序的输出结果是______。
答案
参考答案:ABBA。
解析: 本题考查派生类的构造函数与析构函数的调用。建立一个派生类对象时,派生类的构造函数的调用顺序如下:基类的构造函数、成员对象的构造函数,派生类自身的构造函数。析构函数的调用顺序与构造函数严格相反。