有如下程序: #include using namespace std; class AA{ public: AA0{cout

admin2019-02-22  40

问题 有如下程序:
    #include
    using namespace std;
    class AA{
    public:
    AA0{cout<<‘l’;)
    };
    class BB:public AA{
    int k;
    public:
    BB():k(0){tout<<‘2’;}
    BB(int n):k(n){cout<<‘3’;)
    );
    int main(){
    BB b(4),c;
    return 0;
    )
    运行时的输出结果是(    )。

选项 A、13 12
B、132
C、32
D、1412

答案A

解析 在基类AA的默认构造函数中,输出字符‘1’,在继承类BB的默认构造函数中,输出字符‘2’,在带有参数n的构造函数中,输出字符‘3’。在主函数中,在创建BB的对象b(4)时,会首先调用基类AA的构造函数输出字符‘l’,再调用类BB带参数的构造函数输出字符‘3’。在创建BB的对象c时,会首先调用基类AA的构造函数输出字符‘1’,再调用类BB默认的构造函数输出字符‘2’。所以程序输出的结果为1312。
转载请注明原文地址:https://jikaoti.com/ti/TQt0FFFM
0

最新回复(0)