首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #included<iostream> using namespace std; class Base { public: Base( ) { x=0; }
有以下程序: #included<iostream> using namespace std; class Base { public: Base( ) { x=0; }
admin
2013-05-30
36
问题
有以下程序:
#included<iostream>
using namespace std;
class Base
{
public:
Base( )
{
x=0;
}
int x;
};
class Derived1:virtual public Base
{
public:
Derived1( )
{
x=10;
}
};
class Derived2:virtual public Base
{
public:
Derived2( )
{
x=20;
}
};
class Derived: public Derived1,protected Derived2
{ };
int main( )
{
Derived obj;
cout<<obj. x<<endl;
return 0;
}
该程序运行后的输出结果是______。
选项
答案
20
解析
本题考核虚基类。本题中,虽然Derived 1和Derived 2都是由共同的基类x派生而来的,但由于引入虚基类,使得它们分别对应基类的不同副本。这时数据成员x只存在一份拷贝,不论在类Derired 1中修改,还是在类Derived 2中修改,都是直接对这唯一拷贝进行操作。本题程序执行语句“Derived obj;”时,就会先调用虚基类Base的构造函数,使得x=0,然后执行类Derived 1的构造函数使得x=10,再执行类Derived 2的构造函数,使得x=20。最后输出x的值为20。
转载请注明原文地址:https://kaotiyun.com/show/bnNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序中划线处正确的语句是()。#include<iostream>usingnamespacestd;classBase{public:voidfun(){cout<<"Base::fun"<<end1;}};classDe
在设计程序时,应采纳的原则之一是()。
在计算机软件系统的体系结构中,数据库管理系统位于用户和【】之间。
有如下的运算符重载函数定义:doubleoperator+(inti,intk){returndouble(i+k);}但定义有错误,对这个错误最准确的描述是()。
下面程序的输出结果为【】。#include<iostream.h>f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}voidmain(){inta=2,i;
重载的关系运算符和逻辑运算符的返回类型应当是【】。
软件危机出现于20世纪60年代末,为了解决软件危机,人们提出用【】的原理来设计软件,这就是软件工程诞生的基础。
下列说法中正确的是()。
二叉树由三个基本单元组成,即左子树,右子树和【】。
有如下函数定义:voidfunc(inta,int&B){a++;b++;}若执行代码段:intx=0,y=1;func(x,y);则变量x和y值分别是A)0和1B)1和1C)0和2
随机试题
人体的触电方式分()两种。
血液透析常见的并发症除外()
大便出血,同时伴有黏液,呈持续性,肛门坠胀.多为
某药材多分枝,常弯曲,集聚成簇,形如鸡爪。与该药材名称相同,弯曲呈钩状,多为单枝,较细小的是()。
关于阴道前庭的解剖结构正确的是
不属于专利权主体的是下列的( )。
选择债券指数化投资的原因不包括()。
下列事项中,可能表明内部控制存在重大缺陷的有()。
2020年9月3日,中共中央、国务院、中央军委在北京人民大会堂举行座谈会,纪念中国人民抗日战争暨世界反法西斯战争胜利75周年。习近平出席座谈会并发表重要讲话强调,中国人民在抗日战争的壮阔进程中孕育出伟大抗战精神,向世界展示了天下兴亡、匹夫有责的爱国情怀,视
我们刚刚吃过午饭。
最新回复
(
0
)