首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
59
问题
有以下程序:
#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全国计算机二级
相关试题推荐
以下程序拟实现计算sum=1+1/2+1/3+…+1/50。 #include<stdio.h> main() {inti,doublesum; sum=1.0; i=1; do {i++;sum+=1/i;}
以下关于C语言数据类型使用的叙述中错误的是()。
定义学生和课程的关系模式如下: S(S#,Sn,Sd,Dc,Sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄) C(C#,Cn,P#)(其属性分别为课程号、课程名、选修课) SC(S#,C#,G)(其属性分别为学号、课程号、成绩) 关系
下列叙述中正确的是()。
下列数据流图构造规则中正确的是()。
以下程序段中,输出结果不能正确反映变量大小关系的是()。
在黑盒测试方法中,设计测试用例的根据是()。
关于友元,下列说法错误的是()。
模块内聚度越高,说明模块内各成分彼此结合的程度越______。
重载的关系运算符和逻辑运算符的返回类型应当是【】。
随机试题
统计综合分析方法
妊娠性呕吐的发病机制属于
根管治疗过程发生的并发症中,可能引起严重后果的是
根据缪尔达尔观点可知,发展不仅仅是国民生产总值的增长,而是包括整个()发展过程的上升运动。
会计人员回避制度要求单位负责人的直系亲属不得担任本单位的()。
班轮运输的运费包括( )。
下列实验操作导致实验结果偏高的是()。
资本主义所有制的实质是()
Yourabilitytoargueisofno______ifyougetyourfactswrong.
Microsoftisaworld-knowncorporationanditsmainproductissoftware.ThemanwhowillsoonbecomeMicrosoft’snewchief【B1】
最新回复
(
0
)