首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2020-07-23
68
问题
有如下程序:
#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/2Fyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列情况中,不会调用拷贝构造函数的是()。
有如下程序:#include#includeusingnamespacestd;classMyBag{public:MyBag(stringb
有如下程序:#includeusingnamespacestd;intmain(){intsum;for(inti=0;i<3;i+=
下列关于C++函数的说明中,正确的是()。
有如下程序:#includeusingnamespacestd;classMyClass{public:MyClass(){cout
在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是
下面不属于软件需求分析阶段主要工作的是
数据库技术的根本目标是()。
在学校中,“班级”与“学生”两个实体集之间的联系属于()关系。
随机试题
下列与能量代谢有关的途径不在线粒体内进行的是()。
灭菌是指杀灭_________的方法。
公民、法人或者其他组织单独就行政赔偿提出请求的( )。
()的意思表示方式是指当事人用写成书面文字的方式,去确立、变更或终止。
残疾人社会工作的发展正在经历从“医学治疗模式”向()的转变。
当学生取得好的成绩后,老师家长给予表扬和鼓励,这符合桑代克学习规律中的()。
A.itisveryimportantforyoutobepunctual.B.Informalclothesconveytheimpressionthatyouarenotseriousaboutthejob
Peopleusedtothinkthatlearningtwolanguagescreatedconfusioninthemind.Far【C1】______itwasthought,togetonerightth
TheMiddleEasthascalleda"museumofreligiousandlinguistichistory."TheoriginandgrowthoftheCoptsintheNilevalley
Teachersneedtobeawareoftheemotional,intellectual,andphysicalchangesthatyoungadultsexperience.Andtheyalsoneed
最新回复
(
0
)