首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
51
问题
有如下程序
#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/Rbfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面不属于软件工程过程的4种基本活动
软件测试的目的是
下面不能作为结构化方法软件需求分析工具的是
使用地址作为实参传给形参,下列说法正确的是()。
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
下面对静态数据成员的描述中,正确的是()。
下列函数模板的定义中,合法的是()。
开发大型软件时,产生困难的根本原因足()。
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。
在下列选项中,不允许作为C++标识符的是
随机试题
一位肝硬化病人,由于消化道出血而导致出血性休克,下列哪项抢救措施是不正确的
钉洞固位型一般不设在
具有促进血液运行和津液输布作用的是()
A.盐酸普鲁卡因胺B.奎尼丁C.盐酸利多卡因D.普罗帕酮E.胺碘酮结构与β受体拮抗剂相似,但β受体拮抗作用较弱,临床用于心律失常的药物是
案情:深圳市汇丰信用社系自主经营、独立核算的股份制城市集体金融企业,其理事会是经营决策权力机构,实行理事会领导下的主任负责制,主任是信用社的法定代表人,由理事会聘任并报深圳银监局审查任职资格合格。2005年11月15日,该信用社主任纪某因受贿罪被逮捕,由副
甲在国外旅游,见有人兜售高仿真人民币,用1万元换取10万元假币,将假币夹在书中寄回国内(事实一)。赵氏调味品公司欲设加盟店,销售具有注册商标的赵氏调味品,派员工赵某物色合作者。甲知道自己不符加盟条件,仍找到赵某送其3万元真币和10万元假币,请其帮忙加盟事
在当代资本主义生产关系中,阶层、阶级结构发生了新的变化,包括
关于ARP协议,描述正确的是______。A.源主机广播一个包含MAC地址的报文,对应主机回送IP地址B.源主机广播一个包含IP地址的报文,对应主机回送MAC地址C.源主机发送一个包含MAC地址的报文,ARP服务器回送IP地址D.源主机发送一个包含
下面的关于对计算机图形和图像的叙述中,正确的是( )。
Insteadofbeingsenttoprison,theshoplifterwas______withafine.
最新回复
(
0
)