20180601 -1

有一个类B继承自类A,他们数据成员如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class A {
...
private
     int a;
};
class B  : public A {
...
private:
     int a;
public:
     const int b;
     A &c;
     static const char* d;
     B* e;
}
则构造函数中,成员变量一定要通过初始化列表来初始化的是____。
a b c
b c e
b c d e
c e
b d
b c

答案:F  错选:E

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

引用,const成员变量,基类构造函数 一定要通过初始化列表来实现。 static类型不是类对象成员,不需要通过初始化列表来初始化

原文地址:https://www.cnblogs.com/kxzh/p/9151026.html