首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2015-07-22
37
问题
有如下程序:
#include
using namespace std;
class AA{
public:
AA(){ cout<<"A"; }
~AA(){ cout<<"a"; }
};
class BB: public AA{
AA aa;
public:
BB(){ cout<<"B"; }
~BB(){ cout<<"b"; }
};
int main(){
BB bb;
return 0;
}
运行这个程序的输出是
选项
A、AABaab
B、AABbaa
C、BAAaab
D、BAAbaa
答案
B
解析
首先,构造函数的工作过程:1、派生类的构造函数在执行函数体之前调用基类的构造函数初始化基类;2、在执行函数体之前根据声明次序初始化自己的成员;3、执行自身函数体。所以程序中在创建BB对象时,首先调用AA的构造函数,输出"A",然后初始化类BB中的成员aa,调用AA的构造函数,输出"A",最后执行函数体,输出"B";
程序执行结束时,系统会自动调用类的析构函数,析构函数工作过程:1、执行析构函数的函数体;2、如果该类中拥有类对象成员,且类对象有析构函数,则以类对象成员声明次序的相反顺序调用其析构函数,销毁类对象成员;3、按原来构造顺序的相反顺序向上依次调用基类的析构函数。所以程序运行结束时,首先调用BB的析构函数并执行函数体,输出"b";然后调用aa的析构函数,销毁aa成员,输出"a";最后调用基类AA的析构函数,输出"a";综上所述,程序运行的输出是:"AABbaa";答案为B。
转载请注明原文地址:https://kaotiyun.com/show/MjNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
要定义数组A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是
在关系运算中,【】运算是对两个具有公共属性的关系所进行的运算。
下面程序的运行结果是#include<iostream.h>voidmain(){inti=1;while(i<=8)if(++i%3!=2)continue;
对于类定义classA{public:virtualvoidfunc1(){}voidfunc2(){}};classB:publicA{public:
下列程序的运行结果为#include<iostream.h>voidmain(){inta=2;intb=a+l;cout<<a/b<<end1;
下列关于类和对象的叙述中,错误的是
下列叙述中正确的是
函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的语句后,a[0]和a[1]的值分别为上【】。a[0]=1;a[1]=2;swap(a,2);
下列有关内联函数的叙述中,正确的是
关于纯虚函数,下列表述正确的是()。
随机试题
经济波动的类型中属于短期因素的是()
在PowerPoint中可以显示动画效果的视图是【】
根据电子商务主体法律制度的规定,下列通常被称为商家的是()。
客户的还贷能力不包括()。
回售条款又被称为加速条款,设置回售条款是为了促使债券持有人转换股份。()
(2009年考试真题)下列关于一人有限责任公司的表述中,符合《公司法》规定的是()。
个体户目前正面临日益_______的竞争和税费两大压力,个体户的急剧减少导致大量小资金无法进行常规创业,从而转向投机,进而使社会的不稳定程度_______。填入画横线部分最恰当的一项是()。
Anythingtodowithaeroplanesandflyingfascinateshim.
A.claimB.advancedC.challengeD.butE.constantlyF.declareG.pilesupH.limitedI
Ifthecountrywantstopullitsweightontheglobalstage,itwillhavetoshoulderagreater________ofresponsibility.
最新回复
(
0
)