C++构造函数后面的冒号
来源:互联网 发布:淘宝失效宝贝什么意思 编辑:程序博客网 时间:2024/05/28 11:29
构造函数后加冒号是初始化表达式:有四种情况下应该使用初始化表达式来初始化成员:
1:初始化const成员
2:初始化引用成员
3:当调用基类的构造函数,而它拥有一组参数时
4:当调用成员类的构造函数,而它拥有一组参数时。
在程序中定义变量并初始化的机制中,有两种形式,一个是我们传统的初始化的形式,即赋值运算符赋值,还有一种是括号赋值,如:
int a=10;
char b='r';//赋值运算符赋值
int a(10);/
char b('r');//括号赋值
以上定义并初始化的形式是正确的,可以通过编译,但括号赋值只能在变量定义并初始化中,不能用在变量定义后再赋值,
冒号初始化是给数据成员分配内存空间时就进行初始化,就是说分配一个数据成员只要冒号后有此数据成员的赋值表达式(此表达式必须是括号赋值表达式),那么分配了内存空间后在进入函数体之前给数据成员赋值,就是说初始化这个数据成员此时函数体还未执行。 对于在函数中初始化,是在所有的数据成员被分配内存空间后才进行的。 这样是有好处的,有的数据成员需要在构造函数调入之后函数体执行之前就进行初始化如引用数据成员,常量数据成员和对象数据成员,
- class student
- {public :
- student ()
- .
- .
- .
- protected:
- const int a;
- int &b;
- }
- student ::student (int i,int j)
- {
- a=i;
- b=j;
- }
++":"后初始化的机制,使引用和常量数据成员变为可能的,Student类的构造函数应为: student ::student(int i,int j):a(i),b(j){}
0 0
- C++构造函数后面的冒号
- C++构造函数后面的冒号
- C++构造函数后面的冒号
- C++构造函数后面的冒号
- C++ 构造函数后面的冒号的作用
- C++ 构造函数后面的冒号的作用
- C++之构造函数后面:冒号的作用
- c++ 构造函数后面加冒号
- C++构造函数中的初始化:C++构造函数后面的冒号
- C++类构造函数初始化列表(构造函数后面的冒号)
- C++构造函数中的初始化:C++构造函数后面的冒号
- C++构造函数中的初始化:C++构造函数后面的冒号
- < C++ > initializer list 初始化列表(构造函数后面加个冒号的解释)
- C++中构造函数后面接单冒号是什么意思?
- 构造函数后跟冒号
- 构造函数后跟冒号
- C++ 构造函数 冒号
- 【转】请问C++中一个构造函数后面加个冒号是什么意思
- scjd认证
- CentOS 下安装 Nginx
- Mockplus ▪ UXPA第八届中国用户体验设计成都赛区决赛成功举行
- UVa 232 - Crossword Answersa
- 04-树6 Complete Binary Search Tree
- C++构造函数后面的冒号
- 字面量
- [Lintcode]Intersection of Two Linked Lists 两个链表的交叉
- JAVA从菜鸟【入门】到新手【实习】一一潮流:物联网硬件开发基础,“硬件开发”的技术储备
- js获取后台Model中的值
- javascript跳跃式前进(5) - 深入浅出this[六种模式]
- Android 传感器 (详解二)—— 常用传感器
- glBegin()和glEnd()之间可调用的函数
- web 开发常见错误总结