首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include using namespace std; class AA{ char c; public: AA(char ch):c(ch){ cout
有如下程序 #include using namespace std; class AA{ char c; public: AA(char ch):c(ch){ cout
admin
2021-02-22
57
问题
有如下程序
#include
using namespace std;
class AA{
char c;
public:
AA(char ch):c(ch){ cout<
~AA(){ cout<<"a"; }
};
class BB{
AA m1;
AA m2;
public:
BB(): m2(’p’),m1(’q’){ cout<<"B"; }
~BB(){ cout<<"b"; }
};
int main(){
BB bb;
return 0;
}
运行这个程序的输出是
选项
A、pgBaab
B、pgBbaa
C、qpBaab
D、qpBbaa
答案
D
解析
构造函数初始化列表仅指定用于初始化成员的值,不指定这些初始化执行的次序,成员初始化的次序是类定义中声明成员的次序,成员初始化完成后执行构造函数的函数体;所以程序中在创建BB对象时,首先初始化m1,再初始化m2,由于m1、m2都是AA对象,且有实参q、p,所以调用构造函数AA(char ch),用ch初始化成员c后输出成员c的值,即输出’q’、’p’,再执行类BB的函数体,输出’B’;
程序执行结束时,系统会自动调用类的析构函数清理自己的成员,析构函数工作过程:1、执行析构函数的函数体;2、如果该类中拥有类对象成员,且类对象有析构函数,则以类对象成员声明次序的相反顺序调用其析构函数,销毁类对象成员;3、按原来构造顺序的相反顺序向上依次调用基类的析构函数。所以程序运行结束时,首先调用BB的析构函数并执行函数体,输出"b";然后调用m2的析构函数,销毁m2成员,输出’a’,再调用m1的析构函数,销毁m1成员,输出’a’;综上所述,程序运行的输出是:"qpBbaa";答案为D。
转载请注明原文地址:https://kaotiyun.com/show/Z7yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:1,2,3,4,5,注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******err
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:TestClass1TestClass2注意:不要改动main函数,不能增行或删行,也不能更
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。(1)定义私有成员变量year、month、day,分别表示年、月、日,类型为i
使用VC6打开考生文件夹下的源程序文件modi3.cpp。类Person完成对人的姓名和年龄的绑定。函数fun()获得年龄比较大的姓名。然后输出这个姓名到屏幕。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成类的构造
软件集成测试不采用
软件测试的目的是
有如下函数定义:voidfunc(inta,int&b){a++;b++;}若执行代码段:intx=0,y=1;func(x,y);则变量x和y的值分别是()。
假定TestClass为一个类。则该类的拷贝构造函数的声明语句为()。
如下函数模板:tempiateTsquare(Tx){returnx*x;}其中T是()。
如下函数模板:template<classT>Tsquare(Tx){returnx*x;}其中T是()。
随机试题
A.艾叶B.五味子C.黄芩D.黄连E.葛根按《中国药典》规定,含量测定的指标成分为桉油精的中药是
维生素B12缺乏引起的贫血不宜用叶酸治疗,理由是
患者男性,60岁。因肺结核用抗结核药治疗数月,一周前头部持续性疼痛,2~3日来发烧38℃左右,今早起头痛加重,昏迷,检查时颈部强直,巴氏征阳性者,脑脊液轻度混浊,白细胞数300×106/L,以淋巴细胞为多,总蛋白(++),墨汁染色可见圆形孢子,周围有宽荚膜
胰腺癌同步放化疗的放疗剂量推荐为DT
"初病而气结为气滞者,宜/顷宜开,久病而损及中气者,宜修宜补,然以情病者非情不解"此文出自
药物警戒是指发现、评价、认识和预防药品不良作用或其他任何与药物相关问题的科学研究和活动,下列属于药物警戒工作内容是
单利和复利的区别在于()。
企业按规定的退税率计算的出口货物的当期抵免税额,应通过应交增值税明细科目的()专栏核算。
[2009年MBA真题]在潮湿的气候中仙人掌很难成活;在寒冷的气候中柑橘很难生长。在某省的大部分地区,仙人掌和柑橘至少有一种不难成活生长。如果上述断定为真,则以下哪项一定为假?
SpeakerA:HowaboutthefoodIordered?I’vebeenwaitingfor20minutesalready.SpeakerB:______
最新回复
(
0
)