首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
62
问题
有以下程序:
#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全国计算机二级
相关试题推荐
某系统结构图如下所示: 该系统结构图的最大扇入数是()。
以下叙述中错误的是()。
以下选项中表示空函数的是()。
有以下程序 #include<stdio.h> intadd(inta,intb){return(a+b);} main() {intk,(*f)(),a=5,b=10; f=add; … } 则以下函数调用语句错误的是(
若有定义:floatx=1.5;inta=1,b=3,c=2;,则正确的switch语句是()。
在进行逻辑设计时,将E-R图中实体之间的联系转换为关系数据库的()。
将一个函数声明为一个类的友元函数必须使用关键字【 】。
当+运算符被重载为友元函数时,友元运算符Obj1+obj2被C++编译器解释为______。
模块内聚度越高,说明模块内各成分彼此结合的程度越______。
类的析构函数的作用是()。
随机试题
蛋白质生物合成的起始复合物中不包含
牙髓充血与浆液性牙髓炎不同点是( )
马尔科夫分析方法的基本思想是()。
规章制度是学生在学习、生活、工作中必须遵循的行为守则,它的作用不包括()。
唯物辩证法认为联系的客观性是指()。
色觉的三色理论能很好地说明()
赫尔巴特提出的三种教育方法分别是_______。
WhatIstheCoolestGasintheUniverse?WhatisthecoldestairtemperatureeverrecordedontheEarth?Wherewasthislow
ThereisonquestionbutthatNewtonwasahighlycompetentMinisterofMint.Itwasmainlythroughhisefforts【1】theEnglishcu
Completethesummarybelow.UseNOMORETHANTHREEWORDSforeachanswer.PROJECTMANAGENTLastweek’sdefinitionofpro
最新回复
(
0
)