C++类数据成员的初始化
来源:互联网 发布:特殊字符软件 编辑:程序博客网 时间:2024/05/20 09:45
[+]
C++为类中提供类成员的初始化列表
类对象的构造顺序是这样的:
1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员
2.进入构造函数后在构造函数中执行一般计算
1.类里面的任何成员变量在定义时是不能初始化的。
2.一般的数据成员可以在构造函数中初始化。
3.const数据成员必须在构造函数的初始化列表中初始化。
4.static要在类的定义外面初始化。
5.数组成员是不能在初始化列表里初始化的。
6.不能给数组指定明显的初始化。
这6条一起,说明了一个问题:C++里面是不能定义常量数组的!因为3和5的矛盾。这个事情似乎说不过去啊?没有办法,我只好转而求助于静态数据成员。
到此,我的问题解决。但是我还想趁机复习一下C++类的初始化:
1.初始化列表:CSomeClass::CSomeClass() : x(0), y(1){}
2.类外初始化:int CSomeClass::myVar=3;
3.const常量定义必须初始化,C++类里面使用初始化列表;
4.C++类不能定义常量数组。
关于const,复习一下常量指针:
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。
1.初始化列表:CSomeClass::CSomeClass() : x(0), y(1){}
2.类外初始化:int CSomeClass::myVar=3;
3.const常量定义必须初始化,C++类里面使用初始化列表;
4.C++类不能定义常量数组。
关于const,复习一下常量指针:
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。
- 类的数据成员初始化
- 类数据成员的初始化
- 数据成员的初始化
- 类的数据成员的初始化
- C++类数据成员的初始化
- C++类的数据成员初始化
- 类中常量数据成员的初始化
- C++类数据成员的初始化
- C++ 初始化类的三个数据成员
- C++ 初始化类的三个数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
- 常数据成员的初始化
- Spring编程式事务与声明式事务源码分析
- java static块的执行次数
- 采用DoGet方式提交中文,乱码产生原因分析及解决办法
- CXF传输复杂对象问题
- [置顶] 程序员如何管理自己的代码
- C++类数据成员的初始化
- mysql使用记录
- 软件项目管理系统-采购商品管理-三权分立
- class/rtc建立过程
- GetMemory错误讲解(指针练习)
- C++中产生随机数
- static,const和typedef关键字的几种用途
- Linux 指令篇:备份压缩--tar
- 构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序