首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
admin
2021-02-22
22
问题
有如下程序:
#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/Ksfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在关系数据库中,描述全局数据逻辑结构的是
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面属于开发阶段任务的是
有如下程序:#include<iostream>usingnamespacestd;className{charname[20];public:Name(){strcpy(nam
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是
下列有关模板的叙述中,正确的是()。
若已经声明了函数原型“voidfun(inta,doubleb=0.0);”,则下列重载函数声明中正确的是()。
设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为
在下面的4个关键字中用来说明虚函数的是()。
假定TestClass为一个类。则该类的拷贝构造函数的声明语句为()。
某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)
随机试题
简述密尔的行政组织思想。
关于卵巢的生理,正确的是
在治疗剂量下出现药物的不良反应,此时药物剂量
中国某公司与法国某公司签订了一份出口农副产品的合同,规定的价格术语为CIF,并委托中国某航运公司作为承运人,其签发了清洁提单。货物运至收货港后,法国某公司检验货物时发现货物受损,经查明,该损失是由于航运公司的船员不慎弄坏排水管道,水流入船舱致使货物湿损。该
简述最近发展区理论的内容。
明治维新中“废藩置县”政策的实质是()。
地球水陆分布极不平均,海洋的总面积占全球面积的()。
下列选项中不属于结构化程序设计原则的是()。
______,whichbannedslavery,wasaddedtotheAmericanConstitutioninDecember,1865.
Onelunchtime,MayWardwasdoinghershoppinginalocalsupermarket,whenshesuddenlyslippedandfell.Shewasbadlyshaken
最新回复
(
0
)