A-A+
有如下程序: #include<iostreanl> using namespaee std
问题详情
有如下程序: #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。