构造函数初始化列表
Posted 任重道远-HSY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构造函数初始化列表相关的知识,希望对你有一定的参考价值。
使用初始化列表来初始化字段: Line::Line( double len): length(len) { cout << "Object is being created, length = " << len << endl; } 上面的语法等同于如下语法: Line::Line( double len) { cout << "Object is being created, length = " << len << endl; length = len; } 假设有一个类 C,具有多个字段 X、Y、Z 等需要进行初始化,同理地,您可以使用上面的语法,只需要在不同的字段使用逗号进行分隔,如下所示: C::C( double a, double b, double c): X(a), Y(b), Z(c) { .... }
1 class Car 2 { 3 int i ;int j ; 4 foo(int x):i(x), j(i){}; // 先初始化i,后初始化j 5 };
以上是关于构造函数初始化列表的主要内容,如果未能解决你的问题,请参考以下文章
C++成员初始化列表(构造函数后加冒号:)(用于在构造函数中初始化类成员变量,可以避免使用构造函数体内的赋值语句,可以确保成员变量在对象构造之初就已经被正确初始化,提高代码的性能和可读性)