问题
单项选择题
有如下程序:
#include<iostream>
using namespace std;
class A { public: A(){cout<<"A";} };
class B<public:B(){cout<<"B";));
class C:public A { B b; public: C(){cout<<"C";} };
int main(){Cobj;
retum 0;
}
执行后的输出结果是()
A.CBA
B.BAC
C.ACB
D.ABC
答案
参考答案:D
解析:
本题考查基类构造函数,数据成员构造函数的调用次序。系统首先要通过派生类的构造函数调用基类的构造函数,对基类成员初始化:然后对派生类中新增的成员初始化。