问题
单项选择题
有如下程序:
#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。