首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
32
问题
有如下程序
#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/Z7yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并且使程序输出的结果为:a=7,b=0a=8,b=10注意:错误的语句在//*****error******的下面,
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释//********1********后
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)完成CMyClass的构造函数,请改正注释//********1********后的错误。(2)
负责数据库中查询操作的数据库语言是
生成派生类对象时,派生类构造函数调用基类构造函数的条件是()。
有如下类定义:classPoint{intx_,y_;public:Point():x_(0),y_(0){}Point(intx,inty=0):x_(x),y_(y){}};
下列语句中,正确的是()。
有如下函数模板:template<classT>Tsquare(Tx){returnx*x;}其中T是()。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(char*data),此函数的功能是,找出字符串数组中最小的ASCII值,如果有相同变量,则输出最后一个所在的位置;如果字符串为空,则返回-1;或者不存在时也返回-1。
随机试题
CanTonyBlairSavetheWorldofBooks?[A]AtthebeginningofAJourney,TonyBlairboaststhathehas"thesoulofarebe
图中警察手势为什么信号?
石灰在应用时不能单独使用,是因为()。
质押担保是贷款的一种担保方式,即借款人可以用银行存款单、债券等权利凭证作为质物交贷款银行保管,当借款人不能还款时贷款银行依法处分质物偿还贷款本息、罚息及费用。目前对质物有较严格的要求,下列不属于质物范围的是( )。
依据传授知识与思想品德教育相统一规律而提出的教学原则是()。
A、 B、 C、 D、 C每组第一个图形是立体图形,第二个图形是这个立体图形的主视图,第三个图形是这个立体图形的俯视图。
延迟退休为何一再成为一个公共热点话题,究其根源,无非是社会养老金面临吃紧的压力。在越来越多的适龄退休人员面前,一个残酷的现实是,新生缴纳养老金的力量没有跟上。在这种情况下,延迟退休提出来的确可以起到缓解局面的作用,但说到底,这仍是一种饮鸩止渴的行为。这种退
设b>a>0,证明:.
信息工程的质量控制基本原则是__________。
以下关于网络操作系统基本任务的描述中,哪个是错误的?
最新回复
(
0
)