首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2019-07-10
71
问题
有如下程序:
#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/rP8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的运行结果为#include<iostream.h>voidmain(){chara=’3’;switch(a){case’3’:cout<<"3"
在语句cin>>data;中,cin是
设有以下定义和程序:#includeclassTestClass1{public:voidshow1(){tout
为了克服软件危机提出了【】概念。
以下程序中调用cin函数给变量a输人数值的方法是错误的,其错误原因是#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;cout<<”inputa:”;
软件详细设计的主要任务是确定每个模块的()。
下列说法中,不属于数据模型所描述的内容的是
在下面的运算符重载函数的原型中,错误的是______。
函数fun的功能是将一个数字字符串转换为一个整数,请将函数补充完整。intfun(char*str){inthum=0;while(*str){num*=10;num+=______str++;}
随机试题
有一位身患晚期肝癌、对科学事业做出突出贡献的老工程师和一位年仅10岁患有急性甲肝的小学生,同时到某医院就诊,要求住院治疗。但是,由于该院种种医疗条件的限制,只能收治一位病人住院。请问医生应该收治的病人是()
A.血pH7.20,BE+9.0mmol/LB.血pH7.15,BE一9.0mmol/LC.血浆渗透压>310mmo/LD.血浆渗透压>320mmol/LE.血pH7.40,血浆渗透压290mmol/L糖尿病酮症酸中毒
心肺脑复苏后的治疗和护理首要的措施是
某10年定期寿险保单包含一个可续保条款,规定最多允许续保3次,而且被保险人满65岁后不能续保。问:假设投保时被保险人的年龄为22岁,则被保险人可以续保()次。
建设法规按大类划分可以分为()。
商业银行的操作风险不是由()所引发的风险。
设a1=2,an+1=,(n=1,2,…).证明
下列对于软件测试的描述正确的是()。
Word文档的结构层次为“章一节-小节”,如章“1”为一级标题、节“1.1”为二级标题、小节“1.1.1”为三级标题,采用多级列表的方式已经完成了对第一章中章、节、小节的设置,如需完成剩余几章内容的多级列表设置,最优的操作方法是:
4.Politician:Fewerpeopleareenteringthelabormarketnowthanpreviously.Iftheeconomygrows,thedemandformotivateda
最新回复
(
0
)