首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #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
42
问题
有以下程序:
#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.h>voidmain(){chara[]="abcdabcabfgacd";inti1=0,i2=0,i=0;while(a[
软件工程包括三个要素,分别为方法、工具和【】。
语句cout<<setfill("")<<setw(4)<<setfill(’i’)<<setw(7)<<’m’<<end1;的输出结果为()。
常用的黑箱测试有等价分类法、边值分析法、错误推测法和【】等4种。
在深度为6的满--X树中,叶子结点的个数为【】。
对于顺序存储的队列,存储空间大小为n,头指针为P,尾指针为R。若在逻辑上看成一个环,则队列中元素的个数为【】。
随机试题
反馈收敛的特点主要属于()
在DreamweaverCS5中,关于图片超链接,下列说法不正确的是________。
Idon’tthinkitisfunny,butmyfriend______.
"WhatIf’questionscanhelpyouthinkaboutwhattodoincasesomethingshouldhappen.Therearenorightanswersbecauseevery
配筋砌块砌体剪力墙中,采用搭接接头的受力钢筋搭接长度不应小于()。
在连续编制合并会计报表时,有些业务要通过“未分配利润——年初”项目予以抵消。下述经济业务中,不需要通过该科目抵消的是()。
在客户信用评级中,由个人因素、资金用途因素、还款来源因素、保障因素和企业前景因素等构成,针对企业信用分析的专家系统是()。
绝对考评法包括()。
为避免打乱正常的领导隶属关系和工作业务联系,党政机关要严格控制()。
以下程序段中,循环次数不超过10的是
最新回复
(
0
)