首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
admin
2020-07-23
67
问题
有如下程序:
#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/8Lyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下函数定义:voidswap(inta,int&b){intc=a;a=b;b=c;}若执行语句序列intx=0,y=1;swap(x,y);则变量x和y的值分别是
下列描述中,属于面向对象思想主要特征的是
有如下程序:#includeusingnamespacestd;classA{public:A(){cout
下面是重载为非成员函数的运算符函数原型,其中错误的是
以下关键字不能用来声明类的访问权限的是()。
下面是重载为非成员函数的运算符的函数原型,其中错误的是()。
下列关于内联函数的叙述中,正确的是
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
已知函数f的原型是voidf(int*a,long&b);,变量v1、v2的定义是:intv1;longv2;下列调用语句中正确的是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输
随机试题
所有的公文都需要编制份数序号。()
糖酵解的终产物是
混凝土灌注桩的一般项目的抽查比例为()。
场依存的学生更多地希望得到教师和同学的认同。()
如图,已知正方体ABCD—A1B1C1D1的棱长是2,点E是正方形BCC1B1中心,点F、G分别是棱C1D1,AA1中点.设点E1、G1分别是点E、G在平面DCC1D1内的正投影.求以E为顶点,四边形FGAE在平面DCC1D1内的正投影为底面边界的棱
4938,3526,3124,2621,1714,()
李白:青莲居士:《蜀道难》
为了增加收入,一家机场计划改变其计时停车区收取的停车费。机场会在第一个4小时或不到4小时期间收取4美元,而后每小时收取1美元;而不是在第一个2小时或不到2小时期间收取2美元,而后每小时收取1美元。下面哪种考虑,如果正确,表明该计划可以成功地增加收入?
Whomisthetalkaddressedto?
如果“义”代表一种伦理的人生态度,“利”代表一种功利的人生态度,那么,我所说的“情”便代表一种审美的人生态度。它主张率性而行,适情而止,每个人都保持自己的真性情。你不是你所信奉的教义,也不是你所占有的物品,你之为你仅在于你的真实“自我”。生命的意义不在于奉
最新回复
(
0
)