有如下程序: #inc1ude <iostream> using namespace std; c1ass AA{ public: AAO{ cout<<’1’; } }; c1ass BB: p

admin2018-12-04  26

问题 有如下程序:
    #inc1ude <iostream>
    using namespace std;
    c1ass AA{
    public:
    AAO{  cout<<’1’;  }
    };
    c1ass BB: public AA{
    int k;
    public:
    BB():k(0){cout<<’2’;  }
    BB(intn):k(n){  cout<<’3’;  }
    };
    int main0{
    BB b(4),c;
    return 0;
    }
    运行时的输出结果是(    )。

选项 A、1312
B、132
C、32
D、1412

答案A

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

最新回复(0)