首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2021-02-22
27
问题
有如下程序:
#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/dEfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamcspacestd;voidfunction2(intn);voidfunctionl(intn){if(n<=0)return;
如下函数的作用是以双倍行距输出文件:voiddouble__space(ifstream&f,ofstream&t){charc;while(){;_________if(c==’\n’)t.p
设某棵树的度为3,其中度为3、1、0的结点个数分别为3、4、15。则该树中总结点数为
软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是()。
下面不属于软件测试实施步骤的是
下面叙述中错误的是
下列关于派生类构造函数和析构函数的说法中,错误的是()。
下列字符串中,不可以用做C++标识符的是()。
层次型、网状型和关系型数据库划分原则是()。
随机试题
慢性肾上腺皮质功能低下的治疗首选药物是()
无尿是指成人24h尿量少于
患者女,35岁。双手深II度烧伤康复期,护士指导其双手平时正确的放置位置是()。
财务控制的方式包括()。
企业购入资产超过正常信用条件延期付款,实质上具有融资性质时,应按购买价款的现值,借记“固定资产”、“在建工程”等科目,按应支付的价款总额,贷记“长期应付款”科目,按其差额借记“未确认融资费用”科目。()
根据反垄断法律制度的规定,下列关于宽恕制度表述错误的是()。
人员录用包括的内容有()。
在中小学德育中如何运用奖惩教育(品德评价)法?
显示器的参数:1024x768,它表示_______。
"IamgeneralmanageroftherecentlyestablishedBritishdivisionofasmallCanadianwholesalecompany.Mytaskismsetupth
最新回复
(
0
)