以下程序的输出结果是 【8】 。 #include<iostream.h> class object { private: int val; public: object( ); object(int i); ~object( );}; object::object( ) { val=0; cout<<"Default constructor for object"<<endl;} object::object(int i) { val=i; cout<<"Constructor for object"<<val<<endl;} object::~object( ){ cout<<"Destructor for object"<<val<<endl;} class container{ private: object one; object two; int data;public: container( ); container(int i,int j,int k); ~container( );}; container::container( ) { data=0; cout<<"Default constructor for container"<<endl;} container::container(int i,int j,int k):two(i),one(j) { data=k; cout<<"Constructor for container"<<endl;} container::~container( ) { cout<<"Destructor for container"<<endl;} void main( ) { container anObj(5,6,10);}
参考答案:
解析:Constructor for object6 Constructor for obiect5 Constructor for container Destructor for container Destructor for object5 Destructor for obiect6 C++语言中的构造函数和析构函数分别是在声明对象时和对象调用完毕后调用,本题中的调用就是这样成对出现的。