首页 > 其他 > 详细

自定义类的初始化列表

时间:2016-03-19 12:50:12      阅读:126      评论:0      收藏:0      [点我收藏+]
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成员
  • 引用成员
  • 没有默认构造函数类类型 成员
使用 初始化列表的方式 来初始化

同时 初始化类成员 的次序 是跟我们所 写的 初始化列表顺序无关的,它只跟成员定义的顺序相关

(先执行基类构造函数,如果有)然后该类初始化列表语句,再执行花括号的语句!

自定义类的初始化列表

原文:http://www.cnblogs.com/zhxshseu/p/5294614.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!