首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
admin
2021-06-10
37
问题
有如下程序:
#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(intm1),输出"B2";然后构造非虚基类,按照Derived的派生列表顺序,首先构造Mid2部分,忽略Mid2构造函数初始化列表中Base的初始化式,再构造Mid1部分,同样忽略Base的初始化式,最后构造Derived部分,执行函数体,输出"D";整个程序结果为:"B2D";答案为D。
转载请注明原文地址:https://kaotiyun.com/show/2yfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面不属于软件设计原则的是()。
关于函数重载,下列叙述中错误的是()。
下列叙述中正确的是()。
如果利用C++流进行输入输出,下面的叙述中正确的是()。
有如下函数模板:template<classT>Tsquare(Tx){returnx*x;}其中T是()。
)下列控制格式输入输出的操作符中,能够设置浮点数精度的是()。
若已经声明了函数原型“voidfun(inta,doubleb=0.0);”,则下列重载函数声明中正确的是()。
下列关于派生类的叙述中,错误的是()。
结构化程序的三种基本控制结构是
在数据管理技术发展的三个阶段中,数据共享最好的是()。
随机试题
人们一旦掌握了某种知识,便不可能被剥夺,这体现了知识的()
关于口服铁剂的护理和健康教育,正确的是()。
A.血红蛋白浓度测定B.血红蛋白电泳分析C.血红蛋白肽链分析D.红细胞渗透脆性试验E.外周血网织红细胞计数诊断是否存在异常血红蛋白的筛选试验是
慢性浅表性胃炎的主要病理改变是
在房产出租、小商品活动较为发达的地区,评估的技术路线往往采用()。
根据行政诉讼法律制度的规定,下列有关行政诉讼第一审普通程序的表述中,正确的有()。
某科技人员获得省政府颁发的科技发明奖6万元,他用其中的3万元通过希望工程支援了灾区一所小学,但3万元超过了奖金的30%,所以超过的部分缴纳个人所得税。()
上课时,有个别学生两眼呆呆地望着老师一动不动而内心却在考虑其他的事情,大部分学生的视、听、动作则始终随着老师从一个问题换到另一个问题。两类学生分别反映了注意的()。
基础教育课程改革倡导的教师观是()。
上网需要在计算机上安装()。
最新回复
(
0
)