首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
admin
2019-04-18
40
问题
有如下程序:
#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://www.kaotiyun.com/show/NpAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面有关纯虚函数的表述中正确的是()
下列程序的输出结果为:0bjectid=00biectid=1请将程序补充完整。#include<iostream>usingnamespacestd;classPoint{publ
给定一个关键字序列(24,19,32,43,38,6,13,22),进行快速排序,扫描一趟后的结果是______。
有如下类说明:classTestClass{intx;public:TestClass(intn){x=n;}};classTestClass1:publicTestClass{inty;
如下程序:#include<iostream.h>voidmain(){charstr[2][5]={"1234","5678"),*p[2];inti,j,s=0;for(i=0;i<2;i++)p[
非成员函数应该声明为类______函数才能访问该类的私有成员。
下列叙述中错误的是()。
下列程序中横线处正确的语句是()。#include<iostream>usingnamespacestd;classTestClass{public: voidfun(){cout<<"Tes
下列选项中,与实现运行时多态性无关的是
随机试题
表证和里证的主要鉴别要点是
用分析天平称得某物0.1204g,加水溶解并转移至25ml量瓶中,加水稀释至刻度,该溶液每ml含溶质为
甘麦大枣汤的功用朱砂安神丸的功用
属于亲水胶体为热力学稳定体系
小儿高热时用物理降温,以下措施哪些是正确的:
某企业因融资需要委托某土地评估机构,对所属某宗地2008年6月30日的价格进行评估。待估宗地位于市区综合级别三级地、商业用地二级地、住宅用地三级地,宗地面积10000m,其中商业用地占20%,住宅用地占80%。城市基准地价的评估基准日为2007年1月1日
限流电抗器的安装方式有()。
人格很复杂,包括()。
在开发数据库应用系统时,使用存储过程可以提高数据访问效率,降低网络流量。下列关于存储过程的说法,错误的是()。
下列对IPv6地址FF23:0:0:0:0510:0:0:9C5B的简化表示中,错误的是()。
最新回复
(
0
)