首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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-05-06
48
问题
有如下程序
#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/QPfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>#include<string>usingnamespacestd;classPerson{public:Person(stringn):n
有如下类定义:classNumber{private:staticintnum;};要初始化Number类的静态成员num,应当在后面加上语句:
下面程序段的正确输出是()。intw—4,x=3,y=2,z=1;cout“(w<x?w:z<y?z:x)<<end1;
下列有关内联函数的叙述中,正确的是()。
有如下程序:#includeusingnamespacestd;classA{public:A(){COUI
请使用“答题”菜单或使用VC6打开考生文件夹下的工程proj3,其中定义了Septinary类(七进制类),来表示一个七进制的数及其相关操作。和十进制的数“逢十进一”类似,七进制的数定义为“逢七进一”。这里对Septinary类的数据成员做一下说明:c
若有定义语句"doublea=2/3;",则语句"cout
下列字符串中,正确的C++标识符是()。
下列选项中,不属于数据库管理的是()。
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
随机试题
患者男,38岁。反复头昏、乏力1年余,偶有尿色加深现象。近日感冒后症状加重,并出现呼吸困难,排酱油色尿,以清晨为重,Hb35g/L,PLT35×109/L,为大细胞正色素性贫血,尿隐血强阳性。最有价值的诊断项目是
根据《注册安全工程师管理规定》,取得资格证书的人员申请注册,中央企业总公司、(总厂、集团公司)经国家安全生产监督管理总局认可,可以将本企业申请人的申请材料直接报送()复审。
预警管理体系中的内部管理不良预警系统主要由质量管理预警、()管理预警、人的行为活动管理预警构成。
投保人解除合同的,保险人应当自接到解除合同通知之日起三十日内,退还保险单的()。
下列各项中,不属于行政处罚的是()。
态度是一种内部准备状态,而不是实际反应本身。()
经济全球化的决定力量是()。
去文具店购买文具用品,已知买7盒水彩笔、3瓶墨水、1个笔记本共需要50元,买10盒水彩笔、4瓶墨水、1本笔记本共需要69元。问若买2盒水彩笔、2瓶墨水、2本笔记本共需要多少钱?()
董源是()的重要山水画家。
Thread类的方法中用于修改线程名字的方法是()。
最新回复
(
0
)