首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2020-06-29
60
问题
有如下程序:
#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/xa8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
程序的3种基本控制结构是
对于语句cout<<setfill(’*’)<<setw(10)<<1<<setfill(’*’)<<setw(2)<<2;的输出结果是
数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于【】。
关于友元,下列说法错误的是______。
下列程序中横线处正确的语句是()。#includeusingnamespacestd;classTestClass{public:voidfun(){cout
对于浯句cout<<end1<<x;中的各个组成部分,下列叙述中错误的是()。
下列选项中,不属于模块间耦合的是()。
要将前缀运算符--重载为Incr的非成员函数,下列原型中,可作为该重载函数原型的是
层次型、网状型和关系型数据库划分原则是( )。
结构化程序设计中,下面对goto语句使用描述正确的是
随机试题
“苏门四学士”是指_________、_________、张耒、晁补之四人。
A.2~6周,平均为4周B.2~9周,平均为6周C.4~20周D.2周~6个月,平均为40天E.1~6个月,平均为3个月乙型肝炎的潜伏期是
浸出药剂质量保证体系必须抓住的主要环节
第三磨牙冠周炎引起“牙关紧闭”的原因是
认真阅读下列材料,并按要求作答。根据上述材料完成下列任务:如指导低年段小学生学习上述内容,试拟定教学目标。(10分)
学生的思想品德是由知、情、意、行四个因素组成的,所以德育过程必须从培养受教育者的正确认识开始。()
生产要素(投入)和产量水平的关系称为()。
下列关于B/S模式应用服务器的描述中,错误的是()。
Tobesuccessfulinajobinterview,youshouldtakecaretoappearmodestlydressed,avoidingtheextremesoftooelaborateor
WhattoDowithYourHandsWhenSpeakinginPublicA)Somewherealongtheway,mostofushavebeengivenadviceaboutpubli
最新回复
(
0
)