继承与包含中构造与析构的执行顺序
来源:互联网 发布:beyonce 知乎 编辑:程序博客网 时间:2024/05/01 11:08
[HP笔试题目]
一个类A继承类B并且包含C,B中包含D。在构造A的时候,先构造B中的D,再构造B,然后构造A中的C,最后构造A。虚构的过程刚好相反。例子如下:|
#include<iostream.h>
class IDCart{
public:
IDCart()
{
cout<<"IDCart construstor"<<endl;
}
~IDCart()
{
cout<<"IDCart destrustor"<<endl;
}
};
class person{
public:
person()
{
cout<<"person contrustor"<<endl;
}
~person()
{
cout<<"person destrustor"<<endl;
}
private:
IDCart id;
};
class subject{
public:
subject()
{
cout<<"subject construstor"<<endl;
}
~subject()
{
cout<<"subject destrustor"<<endl;
}
};
class teacher:public person{
public:
teacher()
{
cout<<"teacher construstor"<<endl;
}
~teacher()
{
cout<<"teacher destrustor"<<endl;
}
private:
subject sub;
};
void main()
{
teacher tea;
}
运行的结果如下:
IDCart construstor
person contrustor
subject construstor
teacher construstor
teacher destrustor
subject destrustor
person destrustor
IDCart destrustor
- 继承与包含中构造与析构的执行顺序
- C++多继承中菱形继承构造函数与析构函数执行的顺序
- 多重继承-构造函数与析构函数执行顺序
- 多重继承的构造函数和析构函数的执行顺序(包含虚基类)
- C++中构造函数与析构函数执行顺序
- 关于C++继承体系中类的构造与析构的顺序【转贴】
- 派生中的构造与析构的执行顺序
- C++ 中构造函数与析构函数的执行顺序
- Java中“块”与构造方法的执行顺序
- Java中 构造函数与初始化块的执行顺序
- 继承中,父类与子类都有静态代码块和构造函数的时执行顺序
- 类继承中构造函数、析构函数的执行顺序
- Java继承的初始化与构造函数的执行顺序问题
- 包含对象成员的类的构造与析构顺序
- C#类的继承中,构造函数的执行顺序
- 继承类中静态构造函数的执行顺序
- C++构造函数与析构函数执行顺序
- 构造函数与析构函数执行顺序
- 我的人生哲学
- 左氧氟沙星
- 十年总结(三):压力指数:进京赶考
- 佛教学说
- C++文件流:
- 继承与包含中构造与析构的执行顺序
- Java编程那些事儿96——多线程使用示例1
- From China Daily 22/5
- 今天这个BUG再次证明了,凡事有果必有因
- 如何学习asp.net?.net精英成长必看书籍
- Actionscript Animation简明教程
- pku3414 POTS(哦也。。。。。。。。又输了。。这是第几次无耻发别人代码AC了。。。。。。我垃圾我笨我傻我真TMD不是东西!!!!
- 25个最佳程序员漫画
- MYSQL 中关于时间戳在C#中的实现