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