首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
admin
2021-09-05
32
问题
有如下程序:
#include
using namespace std;
class Base1{
public:
Base1(){ }
~Base1(){ cout<<"b1"; }
};
class Base2{
public:
Base2(){ }
~Base2(){ cout<<"b2"; }
};
class Derived: public Base2,public Base1{
public:
Derived(){ }
~Derived(){ cout<<’d’; }
};
int main(){
Derived obj;
return 0;
}
运行这个程序的输出是
选项
A、b1b2d
B、b2b1d
C、db1b2
D、db2b1
答案
C
解析
派生类构造函数都是先调用基类构造函数,再根据声明次序定义数据成员,另外对于多继承,派生类的构造函数初始化列表中,基类构造函数是按照基类在派生类的派生列表中出现的次序调用的;由于Derived类的派生列表中,Base2在前,所以应该先调用Base2的构造函数,再调用Base1的构造函数;销毁派生类对象时,总是按照构造函数运行次序的相反顺序调用析构函数,首先运行派生类析构函数,然后按继承层次依次向上调用各基类函数;所以Derived对象销毁时,首先调用Derived的析构函数,接着调用Base1的析构函数,最后调用Base2的析构函数;输出结果为:"db1b2",答案为C。
转载请注明原文地址:https://kaotiyun.com/show/Zb5p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列选项中属于面向对象设计方法主要特征的是()。
有如下程序:#includeusingnamespacestd;intmain(){inti,s=0;for(i=l;s<20;i+=2)s+=i*i;cout<<i<<endl;
有如下程序:#include<iostream>usingnamespacestd;classTest{public:Test(){n+=2;}~Test(){n-=3;}
下列有关内联函数的叙述中,正确的是()。
下列关于派生类的叙述中,错误的是()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
下列关于运算符重载的叙述中,正确的是()。
代码编写阶段可进行的软件测试是
下列关于二叉树的叙述中,正确的是
执行下列语句段后,输出字符“*”的个数是()。for(inti=50;i>1:--i)cout
随机试题
红细胞悬浮稳定性差时,将发生
患者,女,38岁。患肺结核已多年,咳嗽无力,气短声低,痰中偶有血丝,午后潮热,面色苍白,颧红,舌嫩红苔薄,脉细弱而数。其治法是
建设项目环境影响识别中,必须包括的阶段是()。
不属于高填方路基沉降病害的防治措施的是()。
下列关于股权激励有关个人所得税的说法,错误的是()。
大多数农产品市场接近于( )。
Theterme-commercereferstoallcommercialtransactionsconductedovertheInternet,includingtransactionsbyconsumersandb
分页和分段有何区别?
IrradiatingFoodIrradiatingfruits,vegetables,porkandchickentokillinsectsandbacteriahasbeenapprovedbytheFood
A、Abusislesscrowdedthansubway.B、Subwayislessreliablethanabus.C、Drivingisquiteexpensiveduetogas.D、Sheistir
最新回复
(
0
)