有如下类定义:class XX{int XX;public:xx():xx(0){tout<<A;}XX(int n):xx(n){cout<
有如下类定义:
class XX{
int XX;
public:
xx():xx(0){tout<<A;}
XX(int n):xx(n){cout<<B;}
};
class Y:Y:public XX{
int YY;
public:
YY():YV(O){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 yl(0,0);
B.YY 72(1);
C.YY y3(0);
D.YY y4;
正确答案:D解析:建立派生类对象时,构值函数的执行顺序为:执行基类的构造函数一执行成员对象的构造函数一执行派生类的构造函数。D)选项定义对象y4时没有传人任何值,则先调用基类的构造函数.XX( ),输出‘A。,然后调用派生类的构造函数YY( ),输出yy=0,最终输出为A0。故本题答案为D)。
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
