首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #include <iostream> using namespace std; class Base { public: Base() { x=0;
若有以下程序: #include <iostream> using namespace std; class Base { public: Base() { x=0;
admin
2010-03-29
91
问题
若有以下程序: #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<<end1; return 0; } 该程序运行后的输出结果是( )。
选项
A、10
B、20
C、30
D、0
答案
2
解析
本题中,虽然Derived1和Derived2都是由共同的基类x派生而来的,但由于引入了虚基类,使得它们分别对应基类的不同副本。这时数据成员x只存在一份拷贝,不论在类Derived1修改,还是在类Derived2中修改,都是直接对这惟一拷贝进行操作。本题程序执行语句“Derived obj”时,就会先调用虚基类Base的构造函数,使得x=O,然后执行类Derived1的构造函数使得x=10,再执行类Derived2的构造函数,使得x=20。最后输出x的值为20。
转载请注明原文地址:https://kaotiyun.com/show/VFjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下划线处应填写的是#include<stdio.h>#defineN5Voidfun(intx[N]){intm;for(m=N-l;m>=0;m--)scanf("%d"
下列对软件测试和软件调试叙述中错误的是()。
下列语句组中,正确的是
以下不构成无限循环的语句或语句组是
设栈的顺序存储空间为S(1:50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则当前栈中的元素个数为()。
下面不属于结构化程序设计原则的是
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
以下关于逻辑运算符两侧运算对象的叙述中正确的是
下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
随机试题
________为胃肠道破裂的证据,立位腹部平片可表现为________阴影。
出口日期应填______。指运港栏应填______。
下列属于业务类工作底稿的有()。
劳动保障监察是法律赋予()的一项重要职责。
微型计算机中使用的数据库属于()。
下列属于《“十三五”旅游业发展规划》的主要任务的有()和提高人民群众满意度。
《义务教育语文课程标准(2011年版)》“评价建议”部分指出,要坚持___________和定量评价相结合,全面反映学生语文学习的状态及水平。
一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为
A、喜欢吃肉B、喜欢游泳C、晚上休息D、白天休息C根据文中“白天休息,到了晚上才出来活动”,可知选C。
Areyousuperstitious?Doyoubelieveingoodluckandbadluck?And,ifso,howdoyougoaboutavoidingbadand【S1】______goo
最新回复
(
0
)