首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
2015-07-22
27
问题
有如下程序
#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/EMNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若执行下面的程序时,从键盘上输入5和2,则输出结果是#include<iostream.h>voidmain(){inta,b,k;cin>>a>>b;k=a;if(a
有以下程序:#include<iostream>usingnamespacestd;classmyclass{private:inta,b;public:voidi
下面程序的结果是#include"iostream.h"voidmain(){char*str;str="test!";cout<<str[5];}
对于模板定义关键字class和typename说法不正确的是()。
以下for语句中不是死循环的是
假设inta=1,b=2;,则表达式(++a/B)*b--的值为【】。
假设a、b均是整型变量,则表达式a=2,b=5,a++,b++,a+b值为【】。
C++语言中标点符号中表示一条预处理命令开始的是
如下图所示的4棵二叉树中,不是完全二叉树的是()。
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是structnode{chardata;structnode*next;}a,b,*p=&a,*q=&b
随机试题
下列情况构成累犯的有( )。
《征地区片综合地价测算指导性意见(暂行)》规定,基本农田保护区、生态保护区和其他资源保护区等应当划入征地区片价测算范围。()
下列不属于经营者的不正当竞争行为的是()。
在资产定价模型中用来测度不可消除系统性风险的是()。
商业银行风险管理的目标并不是要完全消除风险,而是将风险控制在可承受范围的基础上,尽量争取收益/风险的有效性。()
下面对皮亚杰的认知结构论相关内容的表述,正确的是()。
以下哪位与豫剧无关?()
某5岁儿童的智龄是6岁,他的比率智商分数是
当一名司机被怀疑饮用了过多的酒精时,检验该司机走直线的能力与检验该司机血液中的酒精水平相比,是检验该司机是否适于驾车的一个更可靠的指标。下列哪一项,如果正确,能最好地支持上文中的声明?
Inordertocontrolandreduceenvironmentalpollutioncausedbydiscardedwasteelectronicinformationproducts,saveresources
最新回复
(
0
)