博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++构造函数和析构函数的调用顺序
阅读量:6910 次
发布时间:2019-06-27

本文共 632 字,大约阅读时间需要 2 分钟。

1、构造函数的调用顺序 

基类构造函数、对象成员构造函数、派生类本身的构造函数  

2、析构函数的调用顺序

派生类本身的析构函数、对象成员析构函数、基类析构函数(与构造顺序正好相反) 

3、特例 

局部对象,在退出程序块时析构

静态对象,在定义所在文件结束时析构

全局对象,在程序结束时析构 

继承对象,先析构派生类,再析构父类 

对象成员,先析构类对象,再析构对象成员

4、例子 

#include 
using namespace std;class Base1{public: Base1(void){cnt++;cout<<"Base1::constructor("<
<<")"<

 

#include 
using namespace std;class A{public: A(){cout<<"A::constructor"<
B b A::constructor B::constructor C::constructor D::constructor C::deconstructor B::deconstructor A::deconstructor ----->static B b A::constructor C::constructor D::constructor C::deconstructor A::deconstructor */

转载地址:http://jwfcl.baihongyu.com/

你可能感兴趣的文章
【译】Effective TensorFlow Chapter8——控制流操作:条件和循环
查看>>
骗子或许比你更了解网络攻防
查看>>
从贝叶斯定理到概率分布:综述概率论基本定义
查看>>
Satoshis Vision大会:‘乱局’之中的Bitcoin Cash
查看>>
前端中的 IoC 理念
查看>>
Android开源框架源码鉴赏:VirtualAPK
查看>>
在 V8 引擎中设置原型(prototypes)
查看>>
源码|并发一枝花之ReentrantLock与AQS(2):lockInterruptibly
查看>>
Lumen 使用 throttle 限制接口访问频率
查看>>
怎样给文件命名才能显得更加专业
查看>>
python多线程
查看>>
原来云数据库也是有思想的...
查看>>
GitHub 项目徽章的添加和设置
查看>>
写给前端新人:前端开发必会的知识点
查看>>
欢乐的票圈重构之旅——RecyclerView的头尾布局增加
查看>>
makefile-4--变量的定义与使用
查看>>
浅析Vue源码(七)——render到VNode的生成
查看>>
谈谈Shiro的原理及在SSM和SpringBoot两种环境下的使用姿势(下篇)
查看>>
Xcode 创建自定义模板
查看>>
webpack入门学习手记(四)
查看>>