问题 单项选择题

有如下程序:

#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

解析:

本题考查基类构造函数,数据成员构造函数的调用次序。系统首先要通过派生类的构造函数调用基类的构造函数,对基类成员初始化:然后对派生类中新增的成员初始化。

多项选择题
选择题