类的const成员赋值

如果一个类他有一个const 成员变量,那么只能在参数初始化列表中为它赋值。

原因:因为常量只能初始化,不能赋值,所以不能在构造函数中为它赋值,(相当于到达构造函数体内时,成员变量已经初始化完了,就相当于不能给const变量改值一样)

class A {
public:
	A(int b) :a(b) {}
	const int a;
};
class B {
public:
	B(int b){
    c = b;//错误,不能给常量赋值;
	}
	const  int  c;
};

猜你喜欢

转载自blog.csdn.net/xiaozuo2017/article/details/81486005