C++构造函数初始值列表
来源:互联网 发布:西安软件行业成都 编辑:程序博客网 时间:2024/05/16 08:06
当一个类中有引用类型成员变量,和const成员变量时,他们是不能通过构造函数赋值初始化的。
只能通过构造函数初始值列表进行初始化:
class ClassX {public: int a; int &c; const int d;private: int b;public: ClassX(int a, int b)://注意要跟一个冒号再加列表 c(a), d(9) { this -> a = a; this -> b = b; //this -> c = c; //this -> d = d; } int getb() { return this -> b; }};int main(){ ClassX classX(1, 2); cout << classX.a << classX.getb() << classX.c << classX.d << endl; return 0;}
上面的c、d分别是引用类型和常量类型的成员变量,通过c(a)、d(9)进行了初始化。
初始化时会按照成员变量的声明顺序,而不是构造函数初始值列表中的顺序。如果你决定使用初始化列表,请按照它们声明的顺序罗列这些成员。这将有助于消除混淆。
=======================
如果定义变量时没有指定初值,则变量被“默认初始化”。
如果内置类型的变量未被显示初始化,他的值由定义的位置决定:定义于任何函数之外的变量将初始化为0,定义在函数体内部的值将不能被初始化,其值将是未定义的。
一些类要求每个对象都先时初始化。
建议初始化每一个内置类型的变量。
阅读全文
0 0
- 构造函数初始值列表
- 类构造函数初始值列表
- C++构造函数初始值列表
- 由C++构造函数初始值列表想到的
- 构造函数成员初始值列表(member initialization list)
- 必须在构造函数基/成员初始值设定项列表中初始化
- 【C/C++】构造函数的初始化列表
- C++构造函数成员初始值问题
- 构造函数初始化列表(C++)
- 构造函数初始化列表
- 构造函数初始化列表
- 构造函数初始化列表
- 构造函数初始化列表
- 构造函数初始化列表
- 构造函数初始化列表
- 构造函数初始化列表
- 构造函数初始化列表
- 构造函数初始化列表
- jQueryday05补充(外内添加节点替换 节点操作)
- 使用Apriori进行关联分析(二)
- codeforces 16E Fish (概率-期望DP)
- RabbitMQ安装教程(Windows/Linux都有)
- 支持redfire的openfire版本
- C++构造函数初始值列表
- 设计一个计算体重的APP(具体用页面带值转换)(详细)
- 配资公司石家庄顺桥在线股票配资推荐股票解套技巧
- Android-日历
- 2017年9月8日学习笔记
- unity3d鼠标滑动UIImage从而实现3D模型在UIImage上的左右旋转(RawImage映射)
- Handler、缓存图片
- javascript内置对象常用属性和方法(笔记三)
- vue项目的开发流程