首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2021-05-06
54
问题
有如下程序:
#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://kaotiyun.com/show/qJfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;inti=1;classFun{public:staticinti;intvalue(){returni-
若有以下定义,说法错误的是()。hata=100,*p=&a;
下列选项中,不是C++关键字的是
有以下程序,输出结果()。#includevoidmain(){staticintb[][3]={{l,2,3),{4),{5,6}};b[01121=12,b[1][2]=18;
程序流程图中带有箭头的线段表示的是()。
有如下类定义:classSample{public:Sample(intx):ref(x){}//①Sample():ref
以下()不属于对象的基本特征。
在类中重载赋值运算符时,应将其声明为类的()。
有如下语句序列:charstr[10];cin>>str;当从键盘输入"Ilovethisgame"时,str中的字符串是()。
随机试题
JohnSmithDirectorofSalesRockFalls,CA91236DearMr.JohnSmith,IamtheprimarysalesdirectorofABCCompany.Ibri
男性,72岁,排尿困难5年,近2个月加重伴食欲不振,直肠指诊前列腺明显增大5cm×6cm,叩诊膀胱脐下3横指,B超示双肾中度积水,下列哪一项治疗最为合理
随着沥青用量的增加,混合料的马歇尔稳定度会持续增加。()
施工企业按规定发放的生产工人的工作服和劳动手套的费用应计入()。
期货从业人员在进行投资分析时,应严格区分客观事实与主观判断,并对重要事实予以明示。()
在默罕默德统一阿拉伯半岛的过程中起到了重要作用的宗教是()。
2003年第一季度GDP总量增长最快的城市是()。2003年第一季度GDP总量和增速均居同一位的城市有()。
一般来说,不属于系统分析员的工作是
MarkTwain’sletterabouttheStatueofLiberty______.
(Hard)(as)heworked,(but)Mr.Blackcouldn’tkeeptheshop(properly).
最新回复
(
0
)