选择题
若已定义过类A和B,并且定义类C如下:
class C{
public:
int val;
A aObj;
B bObj;
C*cObj;
C(): cObj(0), val(0){}
};
若要建立类C的对象object,则类成员val、aObj、bObj和cObj中最后被初始化的是______。
A、
val
B、
aObj
C、
bObj
D、
cObj
【正确答案】
D
【答案解析】
C++中初始化顺序遵循以下两个原则:(1)初始化列表的初始化变量顺序是根据成员变量声明的顺序来执行的;(2)若有成员对象,先初始化成员对象,多个成员变量按规则(1)执行。按题中所给声明顺序,最后被初始化的是cObj。故选择D选项。
提交答案
关闭