有如下程序: #incLude <iostream> using namespace std; c1ass A{ public: A(){cout<"A’;} ~A(){cout<<’C’;} };

admin2020-07-30  17

问题 有如下程序:
    #incLude <iostream>
    using namespace std;
    c1ass A{
    public:
    A(){cout<"A’;}
    ~A(){cout<<’C’;}
    };
    c1ass B:public A{
    public:
    BO{cout<<’G’;}
    ~BO{couK<’T’;}
    };
    int main0{
    B obj;
    return 0;
    }
    运行这个程序的输出结果是(    )。

选项 A、GATC
B、AGTC
C、GACT
D、AGCT

答案B

解析 派生类B是由基类A公开继承而来,所以在创建类B的obj对象时,首先执行基类A的构造函数A(),输出A,再执行派生类B的构造函数BO,输出G,当程序结束时,首先执行派生类的析构函数~BO,输出T,再执行基类A的析构函数~A(),输出C。
转载请注明原文地址:https://jikaoti.com/ti/Cil0FFFM
0

最新回复(0)