选择题   如下程序运行时的输出结果是
    #include<iostream>
    using namespace std;
    class ONE{
    int c;
    public:
    ONE( ):c(0){eout<<1;}
    ONE(int n):C(n){cout<<2;}
    };
    class TW0{
    ONE onel;
    ONE one2;
    public:
    TWO(int m):one2(m){eout<<3;}
    };
    int main( ){
    TWO t(4);
    return 0;
    }
 
【正确答案】 C
【答案解析】派生类中含有对象时构造函数的调用顺序是:则先执行基类的构造函数,然后执行对象成员的构造函数,最后执行派生类的构造函数。析构函数的调用次序与构造函数的次序则相反。所以在创建对象t4时,先调用基类无参构造函数0NE( ):c(0),打印1:然后调用对象one2(m)的构造函数ONE(int n):c(n),打印2;最后调用派生类的构造函数TWO(int m),打印3。