首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
56
问题
有如下程序:
#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全国计算机二级
相关试题推荐
有如下类定义:classShape{public:___________________//虚函数Draw的声明};横线处缺失的虚函数Draw的声明是
下列选项中,与实现运行时多态性无关的概念是
下列C++流的操作符中,能够设置下一个数据的输出宽度的是
有如下程序:#include#includeusingnamespacestd;classAnimal{public:virtualstring
下面是重载为非成员函数的运算符函数原型,其中错误的是
下列情况中,不会调用拷贝构造函数的是()。
下列字符串中,不可以用做C++标识符的是()。
有如下语句序列:charstr[10];cin>>str;当从键盘输入"Ilovethisgame"时,str中的字符串是()。
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。
下列不属于软件工程3个要素的是()。
随机试题
在ASP.NET中有两种配置文件,数据库连接属于站点级连接,一般存放在()配置文件中。
简述何为行为治疗。
有关激光打印机工作原理的叙述,错误的是
A.20%B.15.0%C.12.0%D.10.0%E.9.0%浓缩水丸的水分不得超过
已知级数(u2n-u2n+1)是收敛的,则下列结论成立的是()。
某工程项目施工合同于2005年12月签订,约定的合同工期为20个月,2006年1月开始正式施工。施工单位按合同工期要求编制了混凝土结构工程施工进度时标网络计划(如图3-2所示),并经工程师审核批准。该项目的各项工作均按最早开始时间安排,且各工作每月
关于建设工程承包合同价格的说法,正确的是()。
资料(一)L集团成立于1984年,是一家以研究、开发、生产和销售自有品牌的计算机系统及其相关产品为主,在信息产业领域内多元化发展的大型企业,是国家120家试点大型企业集团之一,国家技术创新试点企业集团之一,是国内极具影响力的高科技公司之一。自成立
世界上公认的第一台电子计算机诞生在()。
出版专业技术人员每年应参加不少于()学时的继续教育。
最新回复
(
0
)