首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
有如下程序: #include using namespace std; class Base{ int m; public: Base(){ cout
admin
2015-07-22
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://kaotiyun.com/show/BtNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指()。
下列程序的输出结果是()。#include<iostream>usingnamespacestd;intmain(){chara[]=""Hello,World";char*ptr=a;
若要把函数voidf()定义为aClass的友元函数,则应该在类aClass的定义中加入的语句是()。
下列选项中不符合良好程序设计风格的是()。
下列for循环语句执行的次数是______。for(inti=0,x=0;!x&&i<=5;i++)
关于对象概念的描述中,______是错误的
常量和变量的区别是:常量在程序运行中值不变,因此它的值在定义时便进行初始化;而尘量的值是可以改变的,【】类型的变量存储的是变量的地址。
下列不能作为函数返回值的是()。
下列程序的输出结果是【】。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*s,char&c){c=s[strlen
有如下类声明:classMyClass{inti;private:intj;protected:intk;public:intm,n;};
随机试题
汽车正在行驶中,一名儿童突然冲向马路对面,司机急刹车,汽车在发出刺耳的刹车声后停住,儿童在车前的半米处跑过。这时司机顿感心跳加快,头上冒汗,手足无力,这种情绪状态是()
下列反常积分收敛的是()
在某社区,有一男青年,33岁,吸烟10年,在10年的吸烟史中,曾经戒烟3次,但都没有成功。该青年的这种吸烟行为属于
单位发生的各项经济业务或者事项应当在依法设置的会计账簿上统一登记、核算。()
对于下列决策,资本预算技术最没有可能用来评估
所有的天气预报不可能都是准确无误的。下列哪项判断与上述判断的涵义最为相近?
根据以下资料。回答下列问题。2005年华东六省一市,人均公共绿地面积超过全国平均值的有几个省市?()
在报表中打印当前时间,需要插入()。
在Applet的关键方法中,下列()方法是关闭浏览器以释放Applet占用的所有资源。
Thestudentshopedthattheirchoiceofplaywouldbe______withtheirparents.
最新回复
(
0
)