C++中默认构造函数中数据成员的初始化
来源:互联网 发布:失业金数据公布时间 编辑:程序博客网 时间:2024/05/14 12:52
原文地址:http://www.cnblogs.com/coding-wtf/p/5786854.html
构造函数的任务是初始化数据成员的,在类中,如果没有显示定义任何构造函数,编译器将为我们创建一个构造函数,称为合成的默认构造函数,合成的默认构造函数使用与变量初始化相同的规则来初始化成员。即当类中的数据成员没有在构造函数中显示初始化,将执行默认初始化:
1.对于内置类型(如int,double,char,bool等)和复合类型(数组,指针),定义任何函数体之外的内置类型或复合类型变量将被初始化0,对于函数体内的内置类型的对象,若没有初始化,其值是未定义的。
2.具有类类型的成员通过运行各自的默认构造函数来进行初始化。
1 #include <iostream> 2 #include <cstdlib> 3 #include <string> 4 5 using namespace std; 6 7 class test{ 8 public: 9 bool a;10 int b;11 float c;12 string s;13 int *d;14 int e[3];15 };16 test global_a; //定义在函数之外17 int main()18 {19 test local_a; //定义在函数之内20 system("pause");21 return 0;22 }
如上可以,定义在函数体之内的内置类型和复合类型,其值均是未定义的,随机的,而对于类类型string,自动执行其构造函数,初始化为空。
阅读全文
0 0
- C++中默认构造函数中数据成员的初始化
- C++初始化列表中无默认构造函数的成员的初始化
- 构造函数中初始化成员
- 构造函数在类中初始化数据成员
- 没有默认构造函数的问题, 对于类成员变量有别的类成员,则在类 构造函数中也必须对那个类成员变量进行初始化,除非那个类 成员有默认构造函数
- 使用初始化成员列表初始化数据与在构造函数中初始化数据
- c++构造器中成员函数初始化
- C++构造函数中成员对象的初始化顺序
- C++中构造函数,成员对象的初始化顺序
- C++构造函数中初始化成员的先后顺序
- C++类使用默认构造函数时各数据成员的初始化
- 三角形类(在构造函数中使用参数初始化表对数据成员初始化)
- 五周 项目1.4 在构造函数中使用参数初始化表对数据成员初始化
- 第五周项目1.4在构造函数中使用参数初始化表对数据成员初始化
- 项目1.4在构造函数中使用参数初始化表对数据成员初始化
- C++数据成员必须在构造函数初始化列表中初始化
- 构造函数初始化列表中成员变量必须初始化的几种情况
- c++构造函数成员初始化中赋值和初始化列表两种方式的区别
- 莫队算法
- JAVA线程池原理详解
- 全景视频拼接(四):循环将两幅图像拼接为全景图片
- yum提示Another app is currently holding the yum lock; waiting for it to exit...
- CNCF启动Kubernetes一致性认证计划,32家云系统及平台厂商获得通过
- C++中默认构造函数中数据成员的初始化
- Designing Next Generation Web Projects with CSS3.pdf 英文原版 免费下载
- 171116之公司制度
- 油田问题 UVA 572
- 莫烦-matplotlib学习笔记(四)
- c++为函数设置动态参数
- 在Eclipse上安装插件springsource-tool-suite详解,完美不报错!以及yml无自动提示?
- 线性代数的本质(笔记二)
- Java 集合框架面试问题集锦