首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
admin
2021-06-10
72
问题
有如下程序:
#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全国计算机二级
相关试题推荐
已知表达式++x中的“++”是作为成员函数重载的运算符,则与++x等效的运算符函数调用形式为()。
内部格式控制操作函数是在头文件()中定义的。
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:i=5i=10i=15i=20注意:错误的语句在∥********error******
下列关于运算符重载的叙述中,错误的是()。
下列关于this指针的叙述中,正确的是()。
有如下类声明:classWd{inta;public:intb;intc;private:
下列关于线性链表的叙述中,正确的是( )。
有如下程序:#includeusingnamespacestd;classA{public:A(inti){x=i;}voiddispa(){cout
下面属于黑盒测试方法的是()。
随机试题
阅读《五代史伶官传序》中的一段文字,然后回答问题。方其系燕父子以组,函梁君臣之首,入于太庙,还矢先王,而告以成功,其意气之盛,可谓壮哉!及仇雠已灭,天下已定,一夫夜呼,乱者四应,仓皇东出,未及见贼而士卒离散,君臣相顾,不知所归,至于誓天断发,泣下沾襟,何
锅炉过热器损坏主要指过热管爆管,易发生伤害事故。下列现象中,不属于造成过热器损坏的原因是()。
未经注册的商标,不可以在商品或服务上使用。()
男性,40岁。患糖尿病10余年,尿蛋白阴性,近1个月感下腹部胀。排尿不畅伴尿失禁。B超显示“膀胱扩大。尿潴留”。其原因应考虑
单位犯下列哪些罪的应当负刑事责任?
依据《固体废物污染环境防治法》,()依法被列入强制回收目录的产品和包装物的企业,必须按照国家有关规定对该产品和包装物进行回收。
2002年我国政府编写的()阐述了当前和今后一个时期进一步实施可持续发展的战略部署和政策措施。
不用搜查证也可以进行搜查的情形是()。
英语是使用拉丁字母作为字符的()文字。
Hishairwasbeginningto________inhandfuls.
最新回复
(
0
)