首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
有如下程序: #include using namespace std; class Base1{ public: Base1(){ } ~Base1(){ cout
admin
2015-07-22
19
问题
有如下程序:
#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/1yNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于虚函数的描述中正确的是
函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是
数据流图有两种典型的结构形式,它们分别是变换型和【】。
下列程序的运行结果为#include<iostream.h>voidprint(doublea){cout<<++a;}voidprint(inta,intb){
下列叙述中,不属于软件需求规格说明书的作用的是
若以非成员函数形式,为类Bounce重载“!”运算符,其操作结果为一bool型数据,则该运算符重载函数的原型是【 】。
有如下类声明:classMyClass{inti;private:intj;protected:intk;public:intm,n;};
将以下程序写成三目运算表达式是【】。if(a>B)max=a;elsemax=b;
假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为()。
具有3个结点的二叉树有
随机试题
人民币汇率的第二次并轨是在()
红细胞管型主要见于
阳和汤原方中熟地、麻黄的用量是
骨关节结核时,让病人双手抱紧健侧膝部,骨盆平置,若患髋与膝呈屈曲状态,此时为( )。
()构成了会计分录的基本要素。
在钢的热处理工艺方法中,渗氮属于( )。
美国心理学家格塞尔通过双生子实验证明在儿童发展的整个过程中具有决定作用的是()。
自我防御性归因是指通过强调自己对积极的、合乎期望的好结果的作用,缩小对消极的、不合乎期望的坏结果的责任来保护自尊。根据上述定义,下列属于自我防御性归因的是()。
在所附条件不成就时,附解除条件的民事法律行为( )。
设二次型f(x1,x2,x3)=2(a1x1+a2x2+a3x3)2+(b1x1+b2x2+b3x3)2,记。(1)证明二次型f对应的矩阵为2ααT+ββT;(2)若α,β正交且均为单位向量,证明f在正交变换下的标准形为2y12+y22.
最新回复
(
0
)