有如下类定义: c1ass XX { int xx, public: XX(): xx(0){cout<<’A’;} XX(int n):xx(n){cout<<’B’;} }; c1ass YY:p

admin2017-06-18  17

问题 有如下类定义:
    c1ass XX {
    int xx,
    public:
    XX(): xx(0){cout<<’A’;}
    XX(int n):xx(n){cout<<’B’;}
    };
    c1ass YY:public XX{
    int yy;
    public:
    YYO: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;}
    };
    下列选项中,输出结果为AO的语句是(    )。

选项 A、YYy1(0,0);
B、YYy2(1);
C、YYy3(0);
D、YYy4;

答案D

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

最新回复(0)