首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
64
问题
有如下程序
#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全国计算机二级
相关试题推荐
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和
有如下程序:#include<iostream>usingnamespacestd;classC1{public:~C1(){cout<<1;}};classC2:public
下列叙述中正确的是
有如下程序:#include<iostream>usingnamespacestd;classB{public:virtualvoidf(){cout<<’’B’’;}voidg(){
下列描述中,不属于面向对象思想主要特征的是()。
下列关于类和对象的叙述中,错误的是()。
下列叙述中错误的是
语句ofstreamf(’’SALARY.DAT’’,ios_base::app);的功能是建立流对象f,并试图打开文件SALARY.DAT与f关联,而且()。
下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的’’<<left",输出效果将发生变化的是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)完成构造函数的定义,使得数据成员变量filename和contex为空,内容长度FileLength为0。
随机试题
与愤怒期的病人沟通时,护士应()
木瓜与蚕沙均能治疗_________,_________。木瓜又能治_________,蚕沙又能治_________。
南方某农业县于1999年7月底8月初暴发了一种急性传染病,主要症状为高热、呕吐、抽搐、昏迷,发病数百人,病死率高达20%左右,调查组到现场进行了实地考查,通过流行病学调查发现病例主要集中在儿童,波及面广,涉及十余个县及百余个乡镇。病例分布高度散在,每个村
施工总承包管理模式相比于施工总承包模式所具备的优点不包括( )。
碎石沥青混凝土(SAC)沥青路面中填料的含量应严格控制。减少混合料中()颗粒的含量。
按照《公司法》规定,对有限责任公刮和股份有限责任公司的互相变更要求,下面描述正确的是()。
下列属于评价区域金融发展水平的主要指标有()。
新中国成立70年来,我国总人口由1949年的5.4亿人发展到2018年的近14亿人,年均增长率约为1.4%。庞大的人口总量为中国经济的腾飞提供了宝贵的人力资源,为中国特色社会主义现代化建设奠定了坚实的人才基础。新中国成立以来,我国的人口发展
如图1-3_2,曲线段的方程为y=f(x),函数f(x)在区间[0,a]上有连续的导数,则定积分∫0axf’(x)dx等于()
Duringthemiddleofthe19thcentury,【T1】Germany,alongwithotherEuropeannations,sufferedfromworkplacedeathsandaccide
最新回复
(
0
)