您的位置:首页 > 编程语言 > C语言/C++

《深度探索C++对象模型》- 编译器合成默认构造函数

2016-09-11 16:53 375 查看
原文地址:

http://blog.csdn.net/ljianhui/article/details/46247897

编译器需要的时候是遇到如下四种情况的时候,它需要为以下四种类型的类合成一个默认的构造函数:

1)类的成员变量带有默认构造函数

2)类的基类带有默认构造函数

3)类带有virtual函数

4)类带有一个virtual基类

且合成操作只有在构造函数真正需要被调用时才会被合成。

常见的两个误解:

1)任何class如果没有定义默认构造函数,就会被合成出来。

2)编译器合成的默认构造函数,会显式设定class内每一个成员数据的默认值。

《深度探索C++对象模型》详细讲解

原博文给出了各种情况的实例代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: