首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2020-10-21
30
问题
有如下程序:
#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/Nuyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下模板声明:templateclassA;下列声明中,与上述声明不等价的是()。
在语句“cout
下列关于this指针的描述中,正确的是()。
程序流程图中带有箭头的线段表示的是()。
对C++编译器区分重载函数无任何意义的信息是()。
在数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang20Tsinghua。注意:只能在函数ad
下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
阅读下面的程序:#includevoidmain(){intx;cin>>x;if(x++>5)cout
随机试题
手部创伤止血时止血带应缚于
A、双下肺固定部位的湿哕音B、呼气相延长的弥漫性哮鸣音C、杵状指趾D、X线胸片上双侧肺门淋巴结对称性肿大E、局限性的喘鸣音结节病Ⅰ期
厚朴酚的母核结构类型为
软土路基上填筑路堤应按下列限值辅助控制填筑速率:边桩水平位移量每天不得大于(),路堤中心地面沉降量每天不得大于()。
疏散指示标志牌安装在疏散走道和主要疏散路线的地面时,其指示的疏散方向应与标志灯具指示方向相同,安装间距不应大于()。
政府采购管理机关不参与和干涉采购中的具体商业活动。()
商业银行通过内部评级确定每个非零售风险暴露债务人的风险等级时,债务人评级范围包括()。
在运用历史研究法时,主要为确定文献资料本身的意义、价值和可信度的评论是()
栈的3种基本运算是:人栈、退栈和__________。
FannyKemble(1809—93)wasthenieceoftwoShakespeareantragedians,SarahSiddonsandSiddons’sbrother,JohnPhilipKemble.【R1】
最新回复
(
0
)