首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
有如下程序: #include using namespace std; class AA{ public: AA(){ cout
admin
2015-07-22
51
问题
有如下程序:
#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/MjNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是【】#include<iOStream>usingnamespacestd;template<typenameT>Ttotal(T*datA){Ts=0;
与语句cout<<end1;不等价的是
下面程序的运行结果为#include<iostream.h>voidmain(){chara=’3’;switch(a){case’3’:c
设有定义inta=1;floatf=1.2;charc=’a’;,则下列表示错误的是
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBasc{public:【】voidfun(){cout<<1;}
下列叙述中正确的是
虚函数必须是类的【】。
若有一个MyClass类,则执行语句MyClassa,b(2),*p;后,自动调用该类的构造函数()次。
下述关于数据库系统的叙述中正确的是
下列有关C++流的叙述中,错误的是
随机试题
患者烦渴多饮较甚,口干舌燥,小便频数,尿量较多,舌苔薄黄,脉洪数无力,治疗宜选()(2003年第67题)
引起支气管哮喘气流受限的原因包括
甲公司向乙公司签发了一张银行承兑汇票,甲公司与付款行签订承兑协议,约定付款行承兑后,甲公司将款项足额打入在付款行开立的账户。付款行进行了承兑,但是甲公司并未打款。乙公司向付款行提示付款,付款行拒绝付款。下列说法正确的是:()
下列说法正确的是( )。
在儿童心理学的研究中,常常在某种条件下引起儿童的某种行为以观察在这种条件下儿童行为的变化,这种研究方法是()。
胡锦涛指出,马克思主义政党执政成功的前提条件是()。
第二次世界大战以后,资本主义国家采取福利经济政策,国家参与国民收入的再分配过程,使社会上“弱势群体”的生活得到了基本保障,在一定程度上消除了极端贫困的现象。资本主义国家的这一政策源于()。
方程y’sinx=ylny满足定解条件=e的特解是
一台微机性能的好坏,主要取决于()。
TheU.S.dollarwassupposedtobeattheendofitsrope.Kickingthebucket.Well,maybenot.Thedollarcontinuesto【C1】_____
最新回复
(
0
)