008.构造函数与析构函数的执行顺序
题目描述
定义四个类A、B、C、D,其中D类中包含A、B、C类的对象成员。main函数已经写好,请根据main函数给出四个类的完整定义。
main函数如下:
int main(){
D d;
return 0;
}
输入描述
本题没有输入
输出描述
按输出样例输出
提示
你需要提交main函数之外的其他代码
样例输入
样例输出
B’s constructor is called!
C’s constructor is called!
A’s constructor is called!
D’s constructor is called!
D’s destructor is called!
A’s destructor is called!
C’s destructor is called!
B’s destructor is called!
允许最长运行时间
1000ms
允许使用最大内存
128KB
#include<iostream>
using namespace std;
class B{
public:
B(){
cout<<"B's constructor is called!"<<endl;
}
~B(){
cout<<"B's destructor is called!"<<endl;
}
};
class C{
public:
C(){
cout<<"C's constructor is called!"<<endl;
}
~C(){
cout<<"C's destructor is called!"<<endl;
}
};
class A{
public:
A(){
cout<<"A's constructor is called!"<<endl;
}
~A(){
cout<<"A's destructor is called!"<<endl;
}
};
class D{
public:
D(){
cout<<"D's constructor is called!"<<endl;
}
~D(){
cout<<"D's destructor is called!"<<endl;
}
private:
B b;
C c;
A a;
};
int main(){
D d;
return 0;
}
运行结果: