选择题
有如下程序:
#include<iostream>
using namespace std;
class AA{
public:
AA(){cout<<'1';}
};
class BB:public AA{
int k;
public:
BB():k(0){cout<<'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时,先要调用基类AA类构造函数,输出'1',再调用BB类的第2个构造函数,输出'3'。生成派生类对象c时,先要调用基类AA类构造函数,输出'1',再调用BB类的第1个构造函数,输出'2'。故最终输出结果为:1312。
提交答案
关闭