首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2020-07-23
80
问题
有如下程序:
#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全国计算机二级
相关试题推荐
有如下两个类定义:classAA{BB*v1;};classBB{AA*v2;BB*v3;int*v4;};
以下关键字不能用来声明类的访问权限的是()。
有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是()。
有如下程序:#include#includeusingnamespacestd;classAnimal{public:virtualstring
派生类的成员函数不能访问的基类的成员是
设二叉树如下:则中序序列为()。
层次型、网状型和关系型数据库划分原则是()。
数据库设计中反映用户对数据要求的模式是()。
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
随机试题
为了便于常态混凝土与碾压混凝土在浇筑时能同步上升,应对常态混凝土掺加()。
简述教育的文化功能。
根据经营单位组合分析法,企业经营业务的状况可以被分成哪四种类型?各自具有什么特点?
电视剧《四世同堂》的同名小说作者是【】
对维生素C注射液表述不正确的是
下列经脉中没有按照十二经脉循行流注次序的是:
简述标准贯入试验确定地基承载力的试验步骤。
“一朝被蛇咬,十年怕井绳。”这体现了条件反射形成过程中的()现象。
设关系R和S分别如下图所示,若它们的结果关系为下图中的T。则以下关系式中正确的是()
At4:30inthemorningonApril12,1861,theonlywarbetweenthesouthandthenorthinthe(11)oftheUnitedStatesbegan.A
最新回复
(
0
)