首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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-05-06
14
问题
有如下程序
#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(charch),用ch初始化成员c后输出成员c的值,即输出’q’、’p’,再执行类BB的函数体,输出’B’;程序执行结束时,系统会自动调用类的析构函数清理自己的成员,析构函数工作过程:
1、执行析构函数的函数体;
2、如果该类中拥有类对象成员,且类对象有析构函数,则以类对象成员声明次序的相反顺序调用其析构函数,销毁类对象成员;
3、按原来构造顺序的相反顺序向上依次调用基类的析构函数。
所以程序运行结束时,首先调用BB的析构函数并执行函数体,输出"b";然后调用m2的析构函数,销毁m2成员,输出’a’,再调用m1的析构函数,销毁m1成员,输出’a’;综上所述,程序运行的输出是:"qpBbaa";答案为D。
转载请注明原文地址:https://kaotiyun.com/show/QPfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>#include<string>usingnamespacestd;classPerson{public:Person(stringn):n
关于在调用模板函数时模板实参的使用,下列表述中正确的是()。
有如下类定义:classNumber{private:staticintnum;};要初始化Number类的静态成员num,应当在后面加上语句:
下列各选项中,不属于序言性注释的是()。
有如下类定义:classPerson{public:Person(strings):name(s){}protected:stringname;
请使用Ve6或使用【答题】菜单打开考生目录pmj3下的工程文件pmj3。此工程中包含一个源程序文件proj3.cpp,其中定义了用于表示平面坐标系中的点的类MyPoint和表示三角形的类MyTriangle;程序应当显示:6.828432但程序中有缺
下列有关内联函数的叙述中,正确的是()。
下列关于函数的描述中,错误的是
下列对于线性链表的描述中正确的是
随机试题
Theworkersinthatfactorymanufacturefurniture.
不同给药途径药物吸收显效最快的是
工业化建筑的预制装配式建筑类型中,装配化程度最高的是下列的()。
在某工程双代号网络计划中,工作N的最早开始时间和最迟开始时间分别为第20天和第25天,其持续时间为9天。该工作有两项紧后工作,它们的最早开始时间分别为第32天和第34天,则工作N的总时差和自由时差分别为( )天。
“天子”一称在______时出现。
张佶,字仲雅,本燕人,后徙华州渭南。初名志言,后改焉。父防,殿中少监。佶少有志节,始用荫补殿前承旨,以习儒业,献文求试,换国子监丞。迁著作佐郎、监三白渠、知泾阳县。端拱初,为太子右赞善大夫。曹州民有被诬杀人者,诏往按之,发擿奸伏,冤人得雪。寻通判忻州,迁殿
天鹅在一切方面都高于家鹅一等,家鹅只以野草和籽粒为生,天鹅却会找到一种比较精美的、不平凡的食料。它不断地用妙计捕捉鱼类,它做出无数的不同姿态以求捕捉的成功,并尽量利用它的灵巧与气力。它会避开或抵抗它的敌人:一只老天鹅在水里,连一只最强大的狗它也不怕,它用翅
在疟疾流行地区,许多人多次感染疟疾后,对此病产生免疫力。很明显,感染一次疟疾后人的免疫系统仅受到轻微的激活;而多次感染疟疾,与疟原虫接触,可产生有效的免疫反应,使人免于患疟疾。以下哪项如果为真,最能削弱上述结论?
有以下程序#include<stdio.h>int*f(int*s,int*t){if(*s<*t)*s=*t;returns;}main(){inti=3,j=5,*p=&i,*q=&j,*
SomeKnowledgeaboutHumanResourcesManagementTheHumanResourcesManagement(HRM)functionincludesavarietyofactiviti
最新回复
(
0
)