继承中构造函数和析构函数的调用顺序
来源:互联网 发布:超级基因优化液扫书 编辑:程序博客网 时间:2024/05/29 18:51
1 今天在博客上看到一段解释继承中析构函数和构造函数的调用顺序描述,觉得讲的不错,分享给大家,下面的代码是自己的验证。
首先说说构造函数,大家都知道构造函数里就可以调用成员变量,而继承中子类是把基类的成员变成自己的成员,那么也就是说子类在构造函数里就可以调用基类的成员了,这就说明创建子类的时候必须先调用基类的构造函数,只有这样子类才能在构造函数里使用基类的成员,所以是创建子类时先调用基类的构造函数然后再调用自己的构造函数。通俗点说,你要用某些物品,但这些物品你没办法自己生产,自然就要等别人生产出来,你才能拿来用。
接着就是析构函数了,上面说到子类是将基类的成员变成自己的成员,那么基类就会只存在子类中直到子类调用析构函数后。做个假设:假如在基类的析构函数调用比子类的先,这样会发生什么事呢?类成员终止了,而类本身却还在,但是在类存在的情况下,类成员就应该还存在的,这不就产生矛盾了吗?所以子类是调用自身的析构函数再调用基类的析构函数。
(以上来自http://www.cnblogs.com/jack_zjz/archive/2010/10/30/1865044.html)
#includeusing namespace std;class A{public:A(){cout<<"A()"<
0 0
- C++继承中构造函数和析构函数的调用顺序
- C++类的继承中构造函数和析构函数调用顺序例子
- 继承中构造函数和析构函数的调用顺序
- 【c++继承】继承关系中派生类对象构造函数和析构函数调用顺序
- 继承和构造函数析构函数调用顺序
- C++的继承中构造和析构函数的调用顺序
- C++继承中构造函数、析构函数调用顺序及虚函数的动态绑定
- 继承中构造函数和析构函数地调用顺序
- 继承中构造函数和析构函数地调用顺序
- 继承中构造函数和析构函数地调用顺序
- C++继承中构造函数调用顺序
- C++继承中构造函数、析构函数调用顺序及虚析构函数
- Java中继承关系的构造函数的调用顺序
- C++继承关系中构造函数的调用顺序
- java关于继承中构造函数的调用顺序
- C++中多重继承构造函数调用的先后顺序
- 关于构造函数和析构函数的调用顺序
- C++构造函数和析构函数的调用顺序
- 支持多服务器多端口的ShadowSocks客户端
- 搭建shadowsocks服务端部署
- Python 学习笔记6
- 如何实施异构服务器的负载均衡及过载保护?
- Python 学习笔记7
- 继承中构造函数和析构函数的调用顺序
- Python 学习笔记8
- 初认识springMVC错误修改之hibernate_sequence
- 斐波那契函数非递归实现(C++实现)
- 深入理解AbstractQueuedSynchronizer(二)
- Python 学习笔记9
- Python 学习笔记10
- 深入理解AbstractQueuedSynchronizer(三)
- Android之——史上最简单图片轮播广告效果实现