首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2020-07-23
41
问题
有如下程序:
#include
using namespace std;
class AA{
public:
AA(){ cout<<"A"; }
~AA(){ cout<<"a"; }
};
class BB: public AA{
AA aa;
public:
BB(){ cout<<"B"; }
~BB(){ cout<<"b"; }
};
int main(){
BB bb;
return 0;
}
运行这个程序的输出是
选项
A、AABaab
B、AABbaa
C、BAAaab
D、BAAbaa
答案
B
解析
首先,构造函数的工作过程:1、派生类的构造函数在执行函数体之前调用基类的构造函数初始化基类;2、在执行函数体之前根据声明次序初始化自己的成员;3、执行自身函数体。所以程序中在创建BB对象时,首先调用AA的构造函数,输出"A",然后初始化类BB中的成员aa,调用AA的构造函数,输出"A",最后执行函数体,输出"B";
程序执行结束时,系统会自动调用类的析构函数,析构函数工作过程:1、执行析构函数的函数体;2、如果该类中拥有类对象成员,且类对象有析构函数,则以类对象成员声明次序的相反顺序调用其析构函数,销毁类对象成员;3、按原来构造顺序的相反顺序向上依次调用基类的析构函数。所以程序运行结束时,首先调用BB的析构函数并执行函数体,输出"b";然后调用aa的析构函数,销毁aa成员,输出"a";最后调用基类AA的析构函数,输出"a";综上所述,程序运行的输出是:"AABbaa";答案为B。
转载请注明原文地址:https://jikaoti.com/ti/8ml0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列字符串中,不可以用做C++标识符的是()。
有如下程序:#include#includeusingnamespacestd;classPerson{public:Person(string
下面是重载为非成员函数的运算符的函数原型,其中错误的是()。
下列字符串中,不可以用做C++标识符的是()。
在软件开发中,需求分析阶段可以使用的工具是( )。
下列有关虚函数的表述中正确的是
有如下程序:#include#includeusingnamespacestd;classInstrument{public:Instrument
下面是重载为非成员函数的运算符函数原型,其中错误的是
下列字符串中,正确的C++标识符是()。
按照标识符的要求,下列选项中,()符号不能组成标识符。
随机试题
下列哪些行为触犯诈骗罪(不考虑数额)?(2015年卷二63题,多选)
按照《建设工程安全生产管理条例》规定,工程监理单位在实施监理过程中,发现存在安全事故隐患的,应当要求施工单位整改;情况严重的,应当要求施工单位暂时停止施工,并及时报告:
根据《建设工程安全生产管理条例》的规定,由施工单位对达到一定规模的危险性较大的分部分项工程编制的专项施工方案,实施前应当由()。
辽宁省经国务院批准的大区性宗教院校有()。
饼干中脂肪含量的测定方法宜选用()方法。
当“中国制造”穿越边境线潮水般涌向世界各国的时候,当“中国模式”被越来越多的发展中国家()的时候,世界把目光投向这个()、焕发蓬勃青春魅力的“古老文明大国”,是再自然不过的事情。
下列关于磁道的说法中,正确的是______。
Othernon-dominantmaleswerehyperactive;theyweremuchmoreactivethanisnormal,chasingothersandfightingeachother.
Accordingtotheprofessor,whatisthemajorsignificanceoftheYoungerDryasBoundary?
Designingalenscanbecomparedtoplayingchess.Inchessaplayertriestotraphisopponent’skingin’aseriesofmoves.O
最新回复
(
0
)