首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
34
问题
有如下程序:
#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全国计算机二级
相关试题推荐
下列叙述中正确的是()。
编译过程一般分成5个阶段【】、语法分析、错误检查、代码优化和目标代码生成。
下面叙述错误的是()。
以下数组定义中不正确的是______。
下列关于栈的描述中错误的是
面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?
以下叙述中正确的是
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做
有如下类声明:classMyClass{inti;private:intj;protected:intk;public:intm,n;};
如下类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。ClassmyClass{private:intdata;public:myClass(intvalue);//构造函数
随机试题
改错题:改正句子中的错误。企业竞争能否取胜,关键在于核心竞争力。
所谓导轨运动曲线的包容线,实际上是夹住运动曲线距离最小的两条平行线。()
I’mseventeen.IhadworkedasaboxboyatasupermarketinLeangles.Peoplecametothecounterandyouputthingsintheirba
A、瞳孔不等大B、瞳孔扩大C、瞳孔缩小D、眼球球突出E、眼球震颤有机磷中毒可见
房地产估价师站在中立的立场上,评估出对各方当事人来说均为公平合理的价值,是()的要求。
城市道路横断面设计中,下列()形式的安全性最好。
厂房内的丙类液体中间储罐需设置在单独房间内,且每个房间内储罐的容量不大于()。
某公司属物理围网模式管理的加工贸易企业,海关对其的管理形式是:
证券的代销、包销期限最长不得超过()日。
法定存款准备金率由银监会决定。()
最新回复
(
0
)