设有基类CB和CC,共同派生子类CD。类定义示意如下: class CD : public CB, public CC{…}; ,则创建类CD的对象时,构造函数的调用次序依次是(    )

设有基类CB和CC,共同派生子类CD。类定义示意如下: class CD : public CB, public CC{…}; ,则创建类CD的对象时,构造函数的调用次序依次是(    )


A、

CD、CB、CC


B、

CC、CB、CD


C、

CB、CC、CD 


D、

CD、CC、CB


【正确答案】:C
【题目解析】:

创建CD类的对象时,要先调用基类的构造函数,再调用派生类的构造函数。所以类CD的构造函数是最后调用的。

如果有多个基类,则按照定义派生类时给出的基类次序依次调用各基类的构造函数,所以先调用类CB的构造函数,然后调用类CC。

故本题选C。


Top