首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2021-05-06
55
问题
有如下程序:
#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://www.kaotiyun.com/show/qJfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于运算符重载,下列表述中正确的是()。
要使程序的输出结果为Base,则在横线处填写的派生类Derived的继承方式是()。#includeusingnamespacestd;classBase{public:voidprint(){cout
在C++H冲,打开一个文件时与该文件建立联系的是()。
当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是()。
在表达式x+y*z中,+是作为成员函数重载的运算符,木是作为非成员函数重载的运算符。下列叙述中正确的是()。
下列语句中,错误的是()。
对于一个类定义,下列叙述中错误的是()。
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。
有如下类定义:ciassA{char*a;public:A():a(0){}A(char*aa){∥把aa所指字符串拷贝到a所指向的存储空间a=___;strcpy(a,aa
有如下语句序列:charstr[10];cin>>str;当从键盘输入"Ilovethisgame"时,str中的字符串是()。
随机试题
阅读《谈时间》中的一段文字,然后回答问题。问题在,我们所能掌握的尚未逝去的时间,如何去打发它。梁任公先生最恶闻“消遣”二字,只有活得不耐烦的人才忍心的去“杀时间”。他认为一个人要做的事太多,时间根本不够用,哪里还有时间可供消遣?不过打发时间的方法
下列关于普通心肌细胞动作电位的描述,正确的是
肾癌最主要的症状是
肾小管液Na+,Cl-,K+,H2O和HCO2-重吸收的主要部位是
白喉棒状杆菌毒力试验检查不包括
下列项目中,能同时影响资产和负债的是()。
所谓国家安全。即我国人民民主专政政权和社会主义制度不受侵犯,我国的国家主权和领土完整不受侵犯。()
关于法律解释,下列说法不正确的是()
天気予報______、台風が来るそうだ。
GraduateeducationistheDetroitofhigherlearning.MostgraduateprogramsinAmericanuniversitiesproduceaproductforwhic
最新回复
(
0
)