问题 单项选择题

有如下程序: #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() { C obj; return 0; } 执行后的输出结果是( )。

A.CBA

B.BAC

C.ACB

D.ABC

答案

参考答案:D

解析: 此题中,语句C obj对象初始化首先调用基类的构造函数A(),输出“A”,其次是C类中对象的构造函数的调用,即调用B(),输出“B”;最后是调用自身的构造函数C(),输出“C”。

选择题
单项选择题