首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
2020-05-14
18
问题
有如下程序
#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/dv8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序应能对两个整型变量的值进行交换。以下正确的说法是 #include<iostream.h> voidswap(intp,intq) {intt; t=p; p=q; q=t;} voidmain()
下列程序执行后,输出的结果是()。intx=-5,y=0;while(++x)y++;cout<<y<<end1;
C++在重载运算中,如用成员函数重载一元运算符参数表中需要【】个参数,如用友元函数重载一元运算符参数表中需要1个参数。
在派生类中,对类对象成员,基类成员和非类对象成员的初始化程序是【 】。
下面数据结构中,属于非线性的是()
下述关于数据库系统的叙述中正确的是
以下有关成员函数特征的叙述不正确的是
在C++语言的结构化程序设计中,【】是程序的基本组成单元;在C++语言的面向对象设计框架中,【】是程序的基本组成单元。
下列有关继承和派生的叙述中,正确的是()。
下列叙述中正确的是
随机试题
背景:某商业工程,建筑面积25000m2,地上8层,地下2层。筏板基础,地上为框架结构。某施工单位中标施工总承包,中标价1.56亿元人民币。质量目标:合格,施工单位中标后成立了项目部,并于2010年12月15日进场。施工过程中发生了如下事件:事件一:项
会计账簿的设计范围。
技师焙烧铸圈时将铸道口向上放置可能造成铸件出现A.砂眼B.气孔C.缩孔D.冷隔E.毛刺
以下哪种疾患在青春期后有自愈趋势
案情:2010年10月2日午夜,A市某区公安人员在辖区内巡逻时.发现路边停靠的一辆轿车内坐着三个年轻人(朱某、尤某、何某)形迹可疑,即上前盘查。经查,在该车后备箱中发现盗窃机动车工具.遂将三人带回区公安分局进一步审查。案件侦查终结后.区检察院向区法院提起公
2006年我国农村实用人才中,东部地区人数占总人数的()。2006年我国农村实用人才中,学历在中专以下人数和中专以上人数的比例约为()。
某学生看待问题很有主见,从不人云亦云,其认知风格属于()。
【T1】【T5】
【F1】Ican’thelpwonderingwhatCharlesDarwinwouldthinkifhecouldsurveythestateofhisintellectualachievementtoday.2
Culturesaredifferentbecausethelocationstheyexistinaredifferent.Somepeoplelivinginthedesert,aregoingtolived
最新回复
(
0
)