读书笔记:构造函数、析构函数、拷贝构造函数、赋值函数
2015-11-17 08:56
337 查看
一、构造函数和析构函数运行顺序
构造函数运行顺序:先调用基类的构造函数,然后初始化基类成员变量(调用构造函数(无限迭代)),接着调用本身构造函数,最后初始化成员变量(调用构造函数(无限迭代))
析构函数运行顺序:与构造函数相反,首先执行自身析构函数,然后执行基类的析构函数。
二、构造函数初始化列表:
不按照程序员安排的初始化列表顺序,而是按照声明顺序进行初始化。所以存在依赖关系的成员变量,要么调整正确的声明顺序,要么在构造函数的函数体里面初始化。
三、拷贝构造函数的参数必须是同类型对象引用
四、1、派生类的构造函数应该初始化列表里面显式的调用基类的狗仔函数
2、如果定义的类被继承,那么需要将析构函数定义为虚函数
3、在编写派生类的赋值函数时,不要忘记使用基类的赋值函数给基类的成员变量赋值:Base:Op
构造函数运行顺序:先调用基类的构造函数,然后初始化基类成员变量(调用构造函数(无限迭代)),接着调用本身构造函数,最后初始化成员变量(调用构造函数(无限迭代))
析构函数运行顺序:与构造函数相反,首先执行自身析构函数,然后执行基类的析构函数。
二、构造函数初始化列表:
不按照程序员安排的初始化列表顺序,而是按照声明顺序进行初始化。所以存在依赖关系的成员变量,要么调整正确的声明顺序,要么在构造函数的函数体里面初始化。
三、拷贝构造函数的参数必须是同类型对象引用
四、1、派生类的构造函数应该初始化列表里面显式的调用基类的狗仔函数
2、如果定义的类被继承,那么需要将析构函数定义为虚函数
3、在编写派生类的赋值函数时,不要忘记使用基类的赋值函数给基类的成员变量赋值:Base:Op
相关文章推荐
- iOS 代码实践总结
- 彻底弄懂css中单位px和em,rem的区别
- PHPSTORM/IntelliJ IDEA 常用 设置配置优化 - meetrice
- 堆排序
- 用VS2010打开VS2012项目解决方案
- Cocos2D:塔防游戏制作之旅(十)
- CentOS 7中没有ifconfig命令,而且不能发现eth0
- Cocos2D:塔防游戏制作之旅(十)
- Cocos2D:塔防游戏制作之旅(十)
- Ⅰ.2.2 如何调用Qt对象的函数
- ubuntu14.04,安装JDK1.8(JAVA程序需要的开发、运行环境)
- ubuntu14.04,安装JDK1.8(JAVA程序需要的开发、运行环境)
- ubuntu14.04,安装JDK1.8(JAVA程序需要的开发、运行环境)
- 网购假货必将葬身人民差评的汪洋大海
- java yeild相关
- Ⅰ.2.1 如何访问Qt对象
- 通过文件对话框导入图像问题
- java synchronized详解
- 在CentOS上安装PostgreSQL9.4.5
- 构建高并发高可用的电商平台架构实践