首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
admin
2019-07-10
59
问题
有如下程序:
#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/6W8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是【】。#include<iostream.h>voidmain(){inta=0;a+=(a=8);cout<<a;
对基类数据成员的初始化必须在派生类构造函数中的______处执行。
在inta=10,*p=&a;语句中,p的值是()。
若有以下定义:chara:intb;floatc;doubled;则表达式a*b+dc的值的类型为______。
在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()。
树是结点的集合,它的根结点的数目是()。
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
下列叙述中错误的是
软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是【】。
如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在【】关系。
随机试题
解决市场秩序不规范的关键是()
证见目黄身黄,其色鲜明,发热口渴,心中懊,恶心呕吐,小便短少而黄,大便秘结,舌苔黄腻,脉象弦数,治疗主方应为
远视眼
微循环衰竭期的特征性病理改变是
按照《中华人民共和国药品管理法》,下列情形中按假药论处的是
以下关于数字电视与模拟电视相比具有的优点,说法不正确的有()。
在下列方法中,()是一种应用广泛的定量预测方法。
上市公司在1年内购买、出售重大资产或者担保金额超过一定比例的,应当由股东大会作出特别决议。该比例是()。
公安机关实施拘留后,应当在24小时以内,把拘留的原因和羁押的处所通知被拘留人的家属或者他的所在单位。( )
20世纪90年代以来。中国平均每人购书只有5本。而且还处于逐年下降的状态。有超过一半的识字成人一本书没读过。而700万人口的以色列却有100万人拥有借书证,对于这一现象,你怎么看?
最新回复
(
0
)