构造函数,哪些成员变量一定要通过初始化列表来初始化?

class A {
...
privateint &a;
};
class B : public A {
...
private:
     int a;
public:
     const int b;
     A c;
     static const char* d;
     A* e;
};

答案是  b  c

构造函数初始化时必须采用初始化列表一共有三种情况,
1.需要初始化的数据成员是对象(继承时调用基类构造函数)    这一点c符合
2.需要初始化const修饰的类成员                                            这一点b符合
3.需要初始化引用成员数据

posted @ 2015-08-31 22:53  WQZ321123  阅读(628)  评论(0编辑  收藏  举报