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