首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
34
问题
有如下程序
#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打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数fun(int*arr,intn)的功能是将指定的有序数组压缩成各元素互不相同的有序数组,即相同数只保留一个,多余的被删除。并返回互不相同的元素的个数
下面模型中为概念模型的是
下列叙述中正确的是
有如下程序段:inti=0,j=1;int&r=i://①r=j//②int*p=&i;//③*p=&t//④其中会产生编译错误的语句是()。
学院的每个系都有一名系主任,且一个教师可同时担任多个系的系主任,则实体系主任和实体系间的联系是
代码编写阶段可进行的软件测试是
有如下头文件:intf1();staticintf2();classMA{public:intf3();staticintf4();};在所描述的函数中,具有隐含
如下函数的作用是以双倍行距输出文件:voiddouble__space(ifstream&f,ofstream&t){charc;while(){;_________if(c==’\n’)t.p
在希尔排序法中,每经过一次数据交换后
在面向对象方法中,不属于“对象”基本特点的是
随机试题
安全生产费应专款专用,可以用于()。
下列关于著作权集体管理组织的说法中正确的有()。
下列属于耳用半固体制剂的是
简述我国公务员录用的主管部门有哪些?
行政组织编制总体设计的依据是。
建设社会主义文化强国的关键是()
浆膜腔渗出液中,下列几种特殊蛋白质中含量增高的是
何赛赛诉高小风著作权侵权一案,一审法院判决后,高小风不服,提起上诉。下列说法错误的是哪几项?
【背景资料】某公司中标承建中压A燃气管线工程,管道直径DN30mm,长26km,合同价3600万元。管道沟槽开挖过程中,遇到地质勘察时未探明的废弃砖沟,经现场监理工程师口头同意,施工项目部组织人员、机具及时清除了砖沟,进行换填级配砂石处理,使工程增加了合
2016年5月,甲公司将一厂房出租给乙公司,月租金为3万元,租期为5年。租赁合同签订前,甲公司书面告知乙公司该厂房已为丙银行设定抵押权,用以担保甲公司向丙银行的借款本金1000万元及其利息。2018年6月,甲公司不能履行对丙银行的到期借款债务,致使厂房被人
最新回复
(
0
)