本文主要是介绍c++的初始化列表与const成员,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
初始化列表与const成员
const成员
使用const修饰的类、结构、联合的成员变量,在类对象创建完成前一定要初始化。
不能在构造函数中初始化const成员,因为执行构造函数时,类对象已经创建完成,只有类对象创建完成才能调用成员函数,构造函数虽然特殊但也是成员函数。
在定义const成员时进行初始化,该语法只有在C11语法标准下才支持。
初始化列表
在构造函数小括号后面,主要用于给const成员初始化的一种特殊语法,也可以给普通成员初始化(可以解决参数名与成员变量名同名的问题)。
注意:如果有成员是类、结构、联合类型的,还可以在初始化列表中显式调用成员的构造函数,还可以调用父类的构造函数。
class 类名 {成员变量; public:构造函数(参数列表):成员变量(初始值),成员变量(初始值),...{} };
#include <iostream> using namespace std; class Test {// 可以使用,但只有C11标准才支持// const int num = 1234;const int num; public:Test(int num=0):num(num){ cout << "我是带初始化列表的构造函数" << endl;} void show(void){ cout << "const num = " << num << endl;} }; int main(int argc,const char* argv[]) {Test t(123456789);t.show();return 0; }
这篇关于c++的初始化列表与const成员的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!