有如下程序: #include using namespace std; class ONE{ int c; public: ONE():c(0){cout

admin2018-08-13  26

问题 有如下程序:
    #include
    using namespace std;
    class ONE{
    int c;
    public:
    ONE():c(0){cout<<1;}
    ONE(int n):c(n){cout<<2;}
    };
    class TWO{
    ONE one1;
    ONE one2;
    public:
    TWO(int m):one2(m){cout<<3;}
    };
    int main(){
    TWO t(4);
    return 0:
    }
    运行时的输出结果是(    )。

选项 A、3
B、23
C、123
D、213

答案C

解析 由类TWO的定义可知,其成员为类ONE的两个对象one1和one2。所以在主函数中构建类TWO的对象t(4)时,先后调用类ONE的构造函数ONE():c(0){cout<<1;}和ONE(int n):c(n){cout<<2;}输出12,然后再调用类TWO的构造函数TWO(int m):one2(m){cout<<3;},输出3。
转载请注明原文地址:https://kaotiyun.com/show/nyAp777K
0

最新回复(0)