首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2021-05-06
32
问题
有如下程序:
#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://jikaoti.com/ti/4nh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(intx),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。例如:x=13,13的二进制
有如下类声明和函数声明:classBase{intm;public:intn;protected:intp;};classDe
下面是重载为非成员函数的运算符函数原型,其中错误的是()。
下列字符串中,不可以用作C++标识符的是()。
下列关于函数模板的描述中,错误的是()。
若要重载+、=、<<、==和口运算符,则必须作为类成员重载的运算符是()。
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成默认构造函数TestClass的定义,使得TestClass对象的类型为int,默认值为a=0,b=0,c=0,请在
随机试题
抽头式弧焊变压器的焊接电流调节方式是无级的。()
电动阀的驱动一般是电动机,开或是关的动作完成需要一定的时间模拟量,可以做调节。
简述“返本开新”。
在Word编辑状态下,通过()操作可以选中整个文档内容。
资料:(1)A公司是一个钢铁企业,拟进入前景看好的汽车制造业。现找到一个投资机会。利用B公司的技术生产汽车零件,并将零件出售给B公司。B公司是一个有代表性的汽车零件生产企业。预计该项目需固定资产投资750万元,可以持续五年。会计部门估计每年固定成本为(不
如果全球变暖导致海平面大幅上升,和其他国家一样,中国将要__________被海水淹没地区的人口,特别是长江下游河段,或者建造大坝保护地处低洼地区的沿海城市.这些都需要巨大的花费。中国和其他国家面临的挑战是限制二氧化碳的排放,从而__________全球变
2011年3月11日,日本发生里氏9.0级特大地震,之后引发了海啸、核爆炸、核辐射等一系列灾害。受日本核电站泄漏事故的影响,我国广东、浙江、安徽、江西等地发生市民抢购碘盐.从而引发多地出现抢盐热潮。有的抢购者担心日本核电站爆炸对人体有影响,买点加碘盐回去吃
人都证实,他们皮肤上的粉刺都是在吃了大量巧克力以后出现的。但是,这种说法很可能是把结果当成了原冈。最近一项科学研究指出,荷尔蒙的改变加上精神压力会引起粉刺,有证据表明,喜欢吃巧克力的人,在遇到精神压力时会吃更多的巧克力。以下哪项最为恰当地概括了题
阿拉伯数字的最早发明人是()
Itisacommonplaceamongmoraliststhatyoucannotgethappinessbypursuingit.Thisisonlytrueifyoupursueit【C1】________
最新回复
(
0
)