这篇文章主要介绍“C++类成员相关应用方法是什么”,在日常操作中,相信很多人在C++类成员相关应用方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++类成员相关应用方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
C++为类中提供C++类成员的初始化列表
类对象的构造顺序是这样的:
类里面的任何成员变量在定义时是不能初始化的。
一般的数据成员可以在构造函数中初始化。
const数据成员必须在构造函数的初始化列表中初始化。
static要在类的定义外面初始化。
数组成员是不能在初始化列表里初始化的。
不能给数组指定明显的初始化。
这6条一起,说明了一个问题:C++里面是不能定义常量数组的!因为3和5的矛盾。这个事情似乎说不过去啊?没有办法,我只好转而求助于静态数据成员。
到此,我的问题解决。但是我还想趁机复习一下C++类的初始化:
初始化列表:CSomeClass::CSomeClass() : x(0), y(1){}
类外初始化:int CSomeClass::myVar=3;
const常量定义必须初始化,C++类里面使用初始化列表;
C++类不能定义常量数组。
关于const,复习一下常量指针:
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。
在C++类中,必须做如下事情:
必须对任何const或引用类型成员以及没有默认构造函数的 类 类型 的任何成员 显示地使用初始化列表进行初始化
类成员在定义时是不能被初始化的。
C++类成员初始化顺序与成员变量在构造函数中的位置选后顺序无关,至于成员变量在类中定义的先后顺序有关。
所以下面的例子是错的:
class x { int i; int j; public : x( int value):j(value),i(j) { } }
对与上面的code,因为i先被初始化(i相对于j先定义的)而在i初始化时,j并没有被初始化,故执行出现问题了。
到此,关于“C++类成员相关应用方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!