有如下类定义: class XX{ int XX; public: xx():xx(0){tout

admin2017-10-17  21

问题 有如下类定义:
class XX{
int XX;
public:
xx():xx(0){tout<XX(int n):xx(n){cout<};
class Y:Y:public XX{
int YY;
public:
YY():YV(O){cout<YY(int n):xx(n+1),YY(n){cout<YY(int m,int n):XX(m),YY(n){cout<};
下列选项中,输出结果为A0的语句是

选项 A、YY yl(0,0);
B、YY 72(1);
C、YY y3(0);
D、YY y4;

答案D

解析 建立派生类对象时,构值函数的执行顺序为:执行基类的构造函数一执行成员对象的构造函数一执行派生类的构造函数。D)选项定义对象y4时没有传人任何值,则先调用基类的构造函数.XX( ),输出‘A。,然后调用派生类的构造函数YY( ),输出yy=0,最终输出为A0。故本题答案为D)。
转载请注明原文地址:https://jikaoti.com/ti/wKt0FFFM
0

最新回复(0)