首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
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(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全国计算机二级
相关试题推荐
检查软件产品是否符合需求定义的过程称为
在学校中,“班级”与“学生”两个实体集之间的联系属于()关系。
如下函数模板:tempiateTsquare(Tx){returnx*x;}其中T是()。
下列关于友元的叙述中,错误的是()。
设一棵树的度为3,共有27个结点,其中度为3,2,0的结点数分别为4,1,10。该树中度为1的结点数为()。
设二叉树共有375个结点,其中度为2的结点有187个。则度为1的结点个数是
线性表的长度为n。在最坏情况下,比较次数为n一1的算法是
某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)()。
下列字符串中不能作为C++标识符使用的是()。
下列选项中,正确的C++标识符是()。
随机试题
女性,28岁,因停经42天,阴道点滴流血1天就诊。G3P1,7个月前行子宫下段剖宫产术顺利娩一女婴,产后哺乳至今,3个月前恢复月经。平时月经规律,5~6/28~29,未行避孕措施。患者要求采用宫内节育器避孕,询问放置后可能出现的不良反应有
互斥型投资方案经济效果的静态评价方法未能充分反映()。
建筑物是否属违章建筑,应由该建筑物所在地的()认定。[2006年考题]
下列属于对伪造、变造、私自印制开户登记证的存款人处罚的有()。
按现行政策规定,国家助学贷款的额度按照本、专科学生每人每学年最高不超过()元的标准。
高阻配电方式的配电汇流排或馈线的电阻,相对于低阻配电方式较高。阻值可在45MΩ以上。()
某地发生重大盗窃案件,公安机关在打工者左某的宿舍内发现赃物而将其拘留,在讯问中左某始终辩解自己没有盗窃,希望公安机关能查明真实情况,还自己以清白。公安机关多方查证,也未收集到充足的证据证明该盗窃案是左某所为,遂将左某释放,这体现了()。
下列各句中,有语病的是()。
(2011年第21题)在马克思主义中国化的过程中,产生了毛泽东思想和中国特色社会主义理论体系。这两大理论成果的一脉相承性主要体现在,二者具有共同的
设f(x)在x=1处一阶连续可导,且f’(1)=-2,则=______.
最新回复
(
0
)