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

admin2019-06-04  19

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

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

答案D

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

最新回复(0)