C++中用成员初始化值初始化类的const数据成员

王朝c/c++·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

//用成员初始化值初始化Increment类的const数据成员increment

//

#include <iostream>

using namespace std;

class Increment{

public:

Increment( int c = 0, int i = 1);

void addIncrement() { count += increment;}

void print() const;

private:

int count;

const int increment;

};

Increment::Increment( int c, int i):increment(i) //increment(i)等价于 increment = i; 注意:increment的大小写,大写的定义为类,小写的是成员常量

/*如果需要多个成员初始化值,则可以将其放在

冒号后面以逗号分隔的列表中。所有数据成员都可以用成员初始化值的语法进行初始化

因为increment声明为常量,而且没有赋初值,所以要使用成员初始化值来初始化此常量

*/

{

count = c;

//intcrement = i; 常量类成员〔const对象和const“变量”)要用成员初始化值的语法初始化,而不能用赋值语句。

}

void Increment::print() const

{

cout << "count = " << count

<< ",increment = " << increment << endl;

}

int main()

{

Increment value(10,5);

cout << "Before incrementing: ";

value.print();

for (int j = 0; j < 3 ; j++){

value.addIncrement();

cout << "After increment " << j << ": ";

value.print();

}

return 0;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航