首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2020-07-23
54
问题
有如下程序:
#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/2Fyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下关键字不能用来声明类的访问权限的是()。
有如下程序:#includeusingnamespacestd;classMyClass{public:MyClass(){cout
在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是
有如下程序段:inti=1;while(1){i++;if(i==30)break;if(i%3==0)cout
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )。
若要对类Value中重载的类型转换运算符long进行声明,下列选项中正确的是
下面不能作为结构化方法软件需求分析工具的是
层次型、网状型和关系型数据库划分原则是()。
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
数据库设计中反映用户对数据要求的模式是()。
随机试题
人胚胎血液循环功能起始于
A利多卡因B氯胺酮C普鲁卡因D丁卡因E布比卡因具有羧酸酯结构的麻醉药,且局麻作用更强的是
克隆基因的大肠杆菌表达体系
[2007年第36题]波长为λ的X射线,投射到晶体常数为d的晶体上,取k=0,2,3,…,出现X射线衍射加强的衍射角φ(衍射的X射线与晶面的夹角)满足的公式为()。
微机系统与外部交换信息主要通过()。
劳动定额法属于()的绩效考评方法。
一次函数y=3x一4的图象不经过()。
A.条件(1)充分,但条件(2)不充分B.条件(2)充分,但条件(1)不充分C.条件(1)和条件(2)单独都不充分,但条件(1)和条件(2)联合起来充分D.条件(1)充分,条件(2)也充分E.条件(1)和条件(2)单独都不充分,条件(1)和条件(2
做忠诚的爱国者,自觉维护国家利益,就应该自觉()
Languagelearningbeginswithlistening.Individualchildrenvarygreatlyintheamountoflisteningtheydobeforetheystarts
最新回复
(
0
)