有如下类定义: class XX{ int xx; public: xx():xx(O){cout<<’A’;} XX(int n):xx(n){cout<<’B’;} }; class YY:public XX{ int yy; public: YY()

admin2019-06-12  22

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

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

答案D

解析 考查的是类的继承。选项A的执行结果为BO,建立YY的对象y1,首先调用其构造函数,YY继承于XX所以先调用的为XX的构造函数,根据输入的参数可知输出B,然后执行YY的构造函数输出0;同理,选项B的执行结果为B1,选项C的执行结果为B0。
转载请注明原文地址:https://kaotiyun.com/show/PX8p777K
0

最新回复(0)