首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
50
问题
有如下程序:
#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://www.kaotiyun.com/show/2yfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于析构函数的描述中,错误的是()。
下面描述中,不属于软件危机表现的是
下列有关类成员的叙述中,正确的是()。
使用VC6打开考生文件夹下的源程序文件modil.epp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:1063022注意:错误的语句在//*****error******的下面,修改该语句即可。#includecla
在数据库设计中,将E—R图转换成关系数据模型的过程属于()。
下列有关类成员的叙述中,错误的是
在E-R图中,用来表示实体的图形是()。
以下关键字不能用来声明类的访问权限的是()。
C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。
数据库管理系统中负责数据模式定义的语言是()。
随机试题
下列属于个体内差异评估的不足之处的是
靠一堵充分长的墙边,增加三面墙围成一矩形场地,在限定场地面积为64m2的条件下,问增加的三面墙各长多少时,其总长最小.
通过圆孔的结构为()
下列选项中,不属于我国COPD发病的常见危险因素是
对诊断缺铁性贫血最有意义的是
左归丸中配伍鹿角胶的作用
关于医疗机构实行“医药分开核算、分别管理”,说法错误的是
下列表述,根据《产品质量法》的规定,哪一个是错误的?
某企业购置某种没备,投资100000元,该设备寿命期为10年,投入使用后前三年每年的运营费用为20000元,3年后运营费用每年递增3000元,设备在寿命周期结束时收回残值4000元。在上述数据中可以视为等额年金的是()元。[2006年真题]
左边是给定纸盒的外表面,下列哪项能由它折叠而成?
最新回复
(
0
)