首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2019-07-10
57
问题
有如下程序:
#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://www.kaotiyun.com/show/rP8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;intfun1(intx){return++x;}intfun2(int&x){return++x;}intmai
在C++语言程序中
若已定义int a=256,执行语句cout<<hex<<a;的结果是
根据程序中的注释将下列缺失部分补充完整。classA{char*a;public:A():a(0){}A(char*aa){//把aa所指字符串复制给a所指向的存储空间a=【】
以下非法的赋值表达式是
若有定义语句:intx=3,y=2,z=1;,则表达式x
下面内容不属于使用软件危机的是()。
将一个函数声明为一个类的友元函数必须使用关键字【】。
若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是
随机试题
2010年甲公司的利润总额为5000000元,适用的所得税税率为25%,当年发生的有关交易和事项中,会计处理与税务处理存在的差异如下:(1)支付违法经营罚款100000元。(2)取得国债利息收入50000元。(3)年末计提了300000元的存货跌价准
肝气郁结型胁痛的主症特点是:瘀血阻络型胁痛的主症特点是:
免疫细胞产生、分化成熟的场所
治疗偏头痛的配方取穴是()
根据《医疗机构制剂注册管理办法(试行)》,医疗机构制剂批准文号
简述中国民族乐器的分类并至少各列举三种。
Thestandardoflivingofanycountrymeanstheaverageperson’sshareofthegoodsandserviceswhichthecountryproduces.A
下列各句中,没有语病的一句是( )。
Howmanypeoplelosttheirlivesworldwideinemergenciesin2008?
LuckyChip.Goodman.ThePantechnicon.AdmiralCodrington.Thosenamesshouldpromptoneoftworeactions.Eitheryou’recomplet
最新回复
(
0
)