首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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-09-05
38
问题
有如下程序
#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://www.kaotiyun.com/show/j7fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面是一个模板声明的开始部分:templatedouble…由此可知()。
有如下程序:#includeusingnamespacestd;classMyClass{public:MyClass(inti=0){cout
请打开考生文件夹下的解决方案文件proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator=,以实现深层复制。要求:补充编制的内容写在“//**********333**********”与“//*
关于运算符重载,下列表述中正确的是()。
下列有关函数重载的叙述中,错误的是()。
下列运算符中,不能被重载的是()。
有如下语句序列:ifstreaminffie(’’DATA.DAT’’);if(infile.good())cout<<’’A’’;else{tout<<’’B’’;ofstreamoutfile(’’
结构化程序所要求的基本结构不包括()。
下列选项中,不属于模块间耦合的是()。
下列字符串中,不可以用作C++标识符的是()。
随机试题
李某,女,已婚,36岁,某外企工厂的职工,有一个上五年级的男孩。近一段时间,李某因为夫妻关系和孩子学习的问题而苦恼,特来寻求社会工作者帮助。针对该服务对象,应该收集以下哪些方面的资料?()
有关鼓室内壁结构,下列哪项是错误的
美国创立的司法审查制度的宪法原则是:()
概率抽样的类型包括()。
由于承包单位以外的原因造成进度拖延,称之为()。
中国封建社会产生过诸多“盛世”,出现在清代的是()。
青少年如果连续看书时间过长,眼睛近视几乎是不可避免的。菁华中学的学生个个努力学习。尽管大家都懂得要保护眼睛,但大多数学生每天看书时间都超过10小时,这不可避免地导致连续看书时间过长。其余的学生每大看书也有8小时。班主任老师表扬的都是每天看书时间超过10小时
论理解释
“明四家”指中国画史上沈周、文征明、唐寅、仇英四位明代画家,他们都在江苏苏州从事绘画活动。因苏州古为吴地,故又称、沈、文、唐、仇为_______。
马克思说:“一切现实的危机的最终原因始终是:群众贫穷和群众的消费受到限制,而与此相对立,资本主义生产却竭力发展生产力,好像只有社会的绝对的消费能力才是生产力发展的界限。”这段论述表明
最新回复
(
0
)