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

admin2015-11-24  26

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

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

答案B

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

随机试题
最新回复(0)