首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
2020-05-14
30
问题
有如下程序
#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/dv8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
根据下面的程序,可以在主程序中使用的合法语句是( )。 #include <iostream> using namespace std; class Person{ int age; public:
下列关于函数模板实参不能省略的情况说明不正确的是
有如下程序:#include<iostream>usingnamespacestd;classCA{public:CA(){cout<<’A’;}};classCB:priva
下面叙述不正确的是( )。
下面程序应能对两个整型变量的值进行交换。以下正确的说法是 #include<iostream.h> voidswap(intp,intq) {intt; t=p; p=q; q=t;} voidmain()
在C++中,动态创建对象可以使用【 】操作符来完成。
若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的方法是_____________。
在派生类中,对类对象成员,基类成员和非类对象成员的初始化程序是【 】。
下列叙述中正确的是
下列不属于结构化分析的常用工具的是
随机试题
肾脏是体内重要的内分泌器官,下列哪种内分泌激素不由肾脏所分泌?
按规定称重方法测得压片重量,与平均片重之间的差异程度称为
55岁妇女,外阴瘙痒3个月,白带不多,无异味。妇科检查见外阴有抓痕,皮肤暗红间有色素脱失区,质地似皮革,皮肤纹理显现,病变呈对称性,阴道未见明显充血。最有效的治疗方法应是
治疗湿浊蒙蔽清窍所致的神志昏乱,健忘,耳鸣者,应首选
在Excel中通过格式工具栏可以对工作表中的单元格进行()。
甲公司拥有乙公司400万元的债权,其中200万元的债权以乙公司的厂房作为抵押。甲公司在债权人会议通过破产财产变价方案的表决中,持有的表决权数额为()。
纳税人对法定受案范围内的税务具体行政行为不服,可以依法申请复议。下列税务具体行政行为中,纳税人不服,依法不可以申请复议的是()。(2015年回忆版)
土家族文化艺术丰富多彩,()被称为土家族人民的艺术之花。
某水库建有10个泄洪闸,现有水库的水位已经超过安全线,上游河水还在按不变的速度增加。为了防洪,需调节泄洪速度。假设每个闸门泄洪的速度相同,经测算,若打开一个泄洪闸,30个小时水位降至安全线;若打开两个泄洪闸,10个小时水位降至安全线。现在抗洪指挥部队要求在
A、 B、 C、 A
最新回复
(
0
)