|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class ConstRef
{public:
ConstRef( int ii );
private:
int i;
const int ci;
int & ri;
};ConstRef::ConstRef( int ii )
{ i = ii; /* ok */
ci = ii; /* error: 不可以对 const类型 赋值 */
ri = i; /* 不可以对引用赋值 */
} /* const 和 引用只可以初始化 */
|
这可以换一种方式,就是使用构造函数初始化列表
ConstRef::ConstRef (int ii):i (ii), ci(ii),ri (ii){}
必须 要对 所有的
- const成员
- 引用成员
- 没有默认构造函数的类类型 成员
使用 初始化列表的方式 来初始化
同时 初始化类成员 的次序 是跟我们所 写的 初始化列表顺序无关的,它只跟成员定义的顺序相关。