首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2020-06-29
58
问题
有如下程序:
#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://jikaoti.com/ti/aUA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于语句cout<<setfill(’*’)<<setw(10)<<1<<setfill(’*’)<<setw(2)<<2;的输出结果是
以下程序段的执行结果是()。inta,y:a=10;y=10do{a+=2:y+=a;cout<<“a”=“<<a<<”,“<<”y=“<<y<<”\n”;
下列说法中,不属于数据模型所描述的内容的是
【】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码。函数num(char*str)用于返回字符串中非数字的个数。例如:abcl23abc45返回值为:6将函数num补充完整。注意:请勿改
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。
当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。
下列运算符函数中肯定不属于类FunNumber的成员函数的是()。
将E-R图转换为关系模式时,实体和联系都可以表示为( )。
随机试题
脾主升清的内涵是
先天性心脏病只出现下半身紫绀、杵状指时,应考虑
甲级写字楼的特点有()。
确保完成工程项目的全部要做工作,从而成功达到项目目标的管理过程,是工程项目的()。
确保网络营销顺利实现的基础设施包括()。
GB/T19001—2000标准允许删减的条件包括_________。
该市农村居民人均每天用于健身锻炼的时间有()。
Grown-ups,asanychildwilltellyou,aremonstroushypocrites,especiallywhenitcomestotelevision.Itistotaketheirmin
A、Hereportedthatthetimeforthebudgetmeetinghadbeenset.B、He’salwayslateinreportingthemonthlybudget.C、Themanag
Whatdoesitmeantoobeythelaw?That【B1】______whereyouare.Differentcultureshaveverydifferentviewsofobeyingthelaw
最新回复
(
0
)