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类型不是类对象成员,不需要通过初始化列表来初始化