有如下程序: #include using namespace std; class Apple{ public: Apple(){cout

admin2021-06-10  20

问题 有如下程序:
    #include
    using namespace std;
    class Apple{
    public:
    Apple(){cout<<’A’;}
    };
    class IPhone:public Apple{
    public:
    IPhone():ver(4){cout<<’I’;}
    IPhone(int n):ver(n){cout<    private:
    int ver;
    };
    int main(){
    IPhone Ellen(6),Jack;
    return 0;
    }
    运行时的输出结果是(    )。

选项 A、6I
B、A6I
C、AIAI
D、A6AI

答案D

解析 main()函数中构造两个Iphone对象:①首先构造对象Ellen,调用构造函数:Iphone(inIn),传入参数6,在执行初始化列表时,首先调用基类Apple的默认构造函数,输出字符’A’,然后初始化派生类中的ver为6,再执行派生类构造函数的函数体:输出6。②接着构造对象Jack,调用默认构造函数:Iphone(),执行初始化列表时,首先调用基类Apple的默认构造函数,输出字符’A’,然后初始化派生类中的ver为4,再执行派生类默认构造函数的函数体:输出’I’。
    综上,程序输出:A6AI。本题答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/Tqfp777K
0

最新回复(0)