问题 单项选择题

有如下程序: #include<iostreanl> using namespaee std; class AA{ public: AA( ){cout<<’1’;} }; class BB:public AA{ int k; public: BB( ):k(0){eout<<’2’;} BB(int n):k(n){cout<<’3’;} }; int main( ){ BB,b(4),c; return 0; } 程序的输出结果是

A.1312

B.132

C.32

D.1412

答案

参考答案:A

解析: 创建派生类对象时,先调用基类构造函数,然后调用派生类构造函数,b(4)先调用基类构造函数,然后调用BB的带参数构造函数,打印1和3;c调用基类AA的构造函数,然后调用BB的构造函数,打印1和2。故答案为A。

单项选择题 共用题干题
单项选择题