首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include<iostream> using namespace std; class Base { public: Base() { x=0; }
有以下程序: #include<iostream> using namespace std; class Base { public: Base() { x=0; }
admin
2013-02-27
30
问题
有以下程序:
#include<iostream>
using namespace std;
class Base
{
public:
Base()
{
x=0;
}
int x;
};
class Derivedl:virtual public Base
{
public:
Derivedl()
{
x=10;
}
};
class Derived2:virtual public Base
{
public:
Derived2()
{
x=20;
}
};
class Derived:public Derivedl,protected Derived2
{ };
int main()
{
Derived obj;
cout<<obj.x<<endl;
return 0;
}
该程序运行后的输出结果是______。
选项
答案
20
解析
本题考核虚基类。本题中,虽然Derived1和Derived2都是由共同的基类 x派生而来的,但由于引入了虚基类,使得它们分别对应基类的不同副本。这时数据成员x只存在一份拷贝,不论在类Derived1中修改,还是在类Derived2中修改,都是直接对这惟一拷贝进行操作。本题程序执行语句“Derived obJ;”时,就会先调用虚基类 Base的构造函数,使得x=0,然后执行类Derived1的构造函数使得x=10,再执行类Derived2的构造函数,使得x=20。最后输出x的值为20。
转载请注明原文地址:https://kaotiyun.com/show/tdVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序段中的变量已正确定义 for(i=0;i<4;i++,i++) for(k=1;k<3;k++);printf("*"): 该程序段的输出结果是()。
计算机能直接执行的程序是()。
以下对“对象”概念描述正确的是()。
若有函数首部intfun(doublex[10],int*n),则下列针对此函数的函数声明语句中正确的是()。
深度为7的二叉树共有127个节点,则下列说法中错误的是()。
重载的流运算符函数应该被定义为类的【】函数。
对于长度为n的线性表,在最坏情况下,下列各排序法的比较次数中正确的是()。
当+运算符被重载为友元函数时,友元运算符Obj1+obj2被C++编译器解释为______。
算法是一种()。
类的构造函数是一个特殊的成员函数,它由类的对象自动调用。它的作用是【】。
随机试题
吾未晡食,请假设草具。
下列说法错误的是________________。
在项目实施阶段,项目总进度计划包括()。[2015年真题]
各功能模块间的相互作用、相互依赖关系主要表现在()。
企业有供热、供电两个辅助生产车间,按交互分配法核算辅助生产费用。3月份交互分配前供热车间共归集辅助生产费用152000元,交互分配时向供电车间分配费用7000元,由供电车间分配5000元电费。则当月供热车间应向辅助生产以外的其他受益部门分配费用()元。
婴儿对以下四种颜色的掌握顺序应是()。
机关单位、团体反映情况、传递信息、交流经验常用简报这一文种。()
枪弹的用途不同,弹头的颜色各异,燃烧弹弹头是什么颜色?()
简述注意的衰减理论。
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为
最新回复
(
0
)