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

admin2018-12-04  20

问题 有如下程序:
    #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(in n):c(n){cout<<2;)输出12,然后再调用类TWO的构造函数TWO(int m):one2(m){cout<<3;),输出3。
转载请注明原文地址:https://kaotiyun.com/show/TrAp777K
0

最新回复(0)