首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2021-02-22
20
问题
有如下程序:
#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>usingnamespacestd;classMyClass{public:MyClass(intx):val(x){}voidPrin
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
下面不属于软件工程的3个要素是
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
结构化程序设计的基本原则不包括
下列叙述中正确的是
检查软件产品是否符合需求定义的过程称为
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程文件pmj3。本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h、proj3.cpp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功能。
数据库管理系统是()。
随机试题
政党划分为左翼、右翼和中间政党的根据是()
Doyourememberallthoseyearswhenscientistsarguedthatsmokingwouldkillusbutthedoubtersinsistedthatwedidn’tknow
关于解剖学姿势,不正确的是
下列工程项目中,不宜采用固定总价合同的有()。
在各种地铁车站站台形式中,岛式站台的特点有()。
下列表述符合我国法律规定的是()。
在新型城镇化的过程中,凸显本地文化特色至关重要。文化是一座城市的灵魂,只有文化的________,城市才能________其特色与气质。人是一种文化的存在,所以我们必须切实推进有文化记忆的城镇化。依次填入划横线部分最恰当的一项是:
宏达公司的业绩比腾飞公司好。但是因为鹏程公司的业绩比天城公司的业绩好,所以宏达公司的业绩比天城公司好。以下除了哪项外,都可以成为题干成立的一个必要前提?
有以下程序#include<stdio.h>main(){inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;
将表A的记录复制到表B中,且不删除表B中的记录,可以使用的查询是()。
最新回复
(
0
)