问题 填空题

有如下程序: #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。

解析: 本题考查派生类的构造函数与析构函数的调用。建立一个派生类对象时,派生类的构造函数的调用顺序如下:基类的构造函数、成员对象的构造函数,派生类自身的构造函数。析构函数的调用顺序与构造函数严格相反。

单项选择题
单项选择题