首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
admin
2021-06-10
82
问题
有如下程序:
#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/Rkfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
计算斐波那契数列第n项的函数定义如下:intfib(intn){if(n==0)return1;elseif(n==1)return2;e
以下程序的输出结果是()。main(){inta=4,b=5,c=0,d;d=!a&&!bll!C;1cout<<d<<endl;}
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:i=5i=10i=15i=20注意:错误的语句在∥********error******
有如下程序:#include<iostream>usinsnamespacestd;elassSample{public:Sample(){}一Sample(){cout<<’*’;}
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。
有如下程序段:inti=2;intj=3;intmain(){inti=9,j=i;cout
假定在一个程序中执行到语句:cout
请打开考生文件夹下的解决方案文件proj3,其中声日月的DataList类,是一个用于表示数据表的类。sort成员函数的功能是将当前数据表中的元素升序排列。请编写这个sod函数。程序的正确输出应为:排序前:7,1,3,11.6,9,12,10,8
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
若MyClass为一个类,执行“MyClassa[4],宰p[5];"语句时会自动调用该类构造函数的次数是()。
随机试题
简述计划审计工作的总体要求。
在信息系统规划流程中,具体安排每个项目的日程和资源使用计划的是________。
A.促进胆汁分泌和胆囊收缩B.刺激肠平滑肌蠕动C.抑制胰酶活性D.减少肠道氨基酸的吸收E.增加胃壁PGE2的含量大黄治疗胰腺炎的药理学基础是
高血压脑病指的是
租金计算的方法主要有()。
适用于挖掘浅且短的路堑的施工方法是()。
波兹南事件后,()出任波党第一书记。
中国梦
为了设置两个表之间的数据参照完整性,要求这两个表是
Pollutionisa"dirty"word.Topollutemeanstocontaminate-topsoilorsomethingbyintroducingimpuritieswhichmake【C1】___
最新回复
(
0
)