首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
admin
2015-07-22
28
问题
有如下程序:
#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/XANp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是
下列SQL语句中,用于修改表结构的是
以下程序的输出结果是()。#include<iostream.h>voidfunc(char**m){++m:cout<<*m<<endl;}
类是一个支持集成的抽象数据类型,而对象是类的【】。
如果算符函数调用格式的表达式:x.operator-(operator++(y,0)中的“-”是作为成员函数重载的,“++”是作为友元函数重载的,那么该表达式还可以表示为:()
面向对象程序设计将数据和()放在一起,作为一个相互依存、不可分割的整体来处理。
下列运算符中不能在C++中重载的是
已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为
在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为
一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于【】的联系。
随机试题
问君何能尔?_______。(《饮酒(其五)》)
单模光纤主模的特点是它的()最低。
第一部专门分析方剂的理论专著是
关于引流管/片的拔除时间,不正确的是
患者,男,33岁。患急性腹膜炎,经过积极治疗病情好转,体温下降,今体温突然升高,脉速,并出现典型的膀胱刺激症状,直肠指诊时,在直肠前壁及直肠腔内膨出,有触痛,有时有波动感。应首先考虑的是()
麻黄杏仁甘草石膏汤药物组成中,相反之中寓有相辅之意的两味药是
中国环宇公司与某国艾易达公司签订的国际货物买卖合同中约定,合同争议提交中国国际经济贸易仲裁委员会仲裁,仲裁地在北京。双方未约定仲裁规则及仲裁协议适用的法律。依相关规定和规则.下列哪一选项是正确的?()
【2015年吉林辽源】爱岗敬业是教师职业的本质要求,主要表现是()。
WilliamAppleton,authorofarecentbookentitledFathersandDaughters,believesthatitisawoman’srelationshipwithherfa
Theevolutionofsexratiohasproduced,inmostplantsandanimalswithseparatesexes,approximatelyequalnumbersofmalesan
最新回复
(
0
)