首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
admin
2020-05-14
48
问题
有如下程序:
#include
using namespace std;
class Base{
int m;
public:
Base(){ cout<<"B1"; }
Base(int m1): m(m1){ cout<<"B2"; }
};
class Mid1: virtual public Base{ };
class Mid2: virtual public Base{ };
class Derived: public Mid2, public Mid1{
public:
Derived(int n): Base(n){ cout<<"D"; }
};
int main(){
Derived obj(5);
return 0;
}
运行上述程序的输出结果是
选项
A、B1B1D
B、B1B2D
C、B1D
D、B2D
答案
D
解析
虚继承中,无论虚基类出现在继承层次中的任何地方,总是在构造非虚基类之前构造虚基类;程序中首先构造虚基类Base,调用Base的构造函数Base(int m1),输出"B2";然后构造非虚基类,按照Derived的派生列表顺序,首先构造Mid2部分,忽略Mid2构造函数初始化列表中Base的初始化式,再构造Mid1部分,同样忽略Base的初始化式,最后构造Derived部分,执行函数体,输出"D";整个程序结果为:"B2D";答案为D。
转载请注明原文地址:https://kaotiyun.com/show/mc8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
数据库系统的核心是______。
下面程序的输出结果是#include<iostream.h>classexample{inta;public:example(intb){a=b++;}voidpnnt(
下面是“二维向量”vector2D的定义,其中作为成员函数重载的运算符“+”的功能是将两向量的分量x和y对应相加,然后返回作为相加结果的新对象。那么应该在横线上填入的语句是()。classvector2D{private
下列语句的输出结果cout<<strlen("\t\"\065\xff\n");
在单链表中,增加头结点的目的是
下面不属于C++的预定义的流对象是()。
下列程序在构造函数和析构函数中申请和释放类的数据成员int*a,申请时使用形参b初始化a,请填空。classA{public:A(intb);~A();private:i
C++语言中表示双精度浮点数的关键字是【】。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。程序通过继承关系,实现对姓名的控制。类TestClassl实现对名字访问的接口,TestClass2实现对名字的设置和输出。程序输出为:TestClass2NameMay
软件调试的目的是()。
随机试题
简述临床诊治工作的基本道德原则。
桩冠预备完成后,做以下哪种处理
可参与证券投资的金融机构包括()。Ⅰ.证券经营机构Ⅱ.银行业金融机构Ⅲ.保险经营机构Ⅳ.企业集团财务公司
对一种进口商品同时定有从价税和从量税两种税率,但征税时选择其税额较高的一种征税。这种税率称为()。
学校不得聘用受过处分的人担任工作人员。()
新月:满月:残月
论述赞科夫的发展性教学理论。(2020年陕西师大、2017年北京师大、2011/2012年华中师大)
Inadditiontotheestablishedenergysourcessuchasgas,coal,oilandnuclear,thereareanumberofothersourcesthatweou
在家所在的社区附近建一个购物中心,是否同意,并列举理由。DoYouNeedaShoppingCenterinYourNeighborhood
AccordingtoastudypublishedthisweekinthejournalEcologyLetters,thequantityofbirdsinEuropehasdeclinedbymoreth
最新回复
(
0
)