首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #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
23
问题
若有以下程序: #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、20
B、30
C、10
D、0
答案
1
解析
本题中,虽然Derivedl和Derived2都是由共同的基类x派生而来的,但由于引入了虚基类,使得它们分别对应基类的不同副本。这时数据成员x只存在一份拷贝,不论在类Derived1修改,还是在类Derived2中修改,都是直接对这惟一拷贝进行操作。本题程序执行语句“Derived obj”时,就会先调用虚基类Base的构造函数,使得x=0,然后执行类Derived1的构造函数,使得x=10,再执行类Derived2的构造函数,使得x=20。最后输出x的值为20。
转载请注明原文地址:https://jikaoti.com/ti/TML0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序: #include<stdio.h> main() { inta=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b!=2||c--!=3) printf("%d,%d,%d\n
若有定义语句:char*s1="OK",*s2="ok";,以下选项中,能够输出"OK"的语句是()。
下列定义数组的语句中错误的是()。
设有如下定义和语句: FILE*fp; intdata[10],i,n; fp=fopen("abc.txt","r"); 文本文件abc.txt中的数据为:58192765190,其中第1个数据代表的是它后面数据的个数。若文件已正确
下列函数的功能是()。 voidfun(char*a,char*b) {while((*b=*a)!=’\0’) { a++; b++; } }
假定已建立以下链表结构,且指针p和q已指向如图所示的节点。 则下列选项中可将q所指节点从链表中删除并释放该节点的语句组是()。
给定程序BIANK1.C中主函数的功能:输入一个实数a,根据迭代公式x1=(x0+a/x0)/2.0,计算并输出其平方根。要求误差不超过1e-6(0.000001)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
C++语言中,编译过程后生成的文件类型为()。
若一棵二叉树具有10个度为2的结点,则该二叉树的度为0的结点个数是______。
重载的关系运算符和逻辑运算符的返回类型应当是【】。
随机试题
下列关于会计凭证的说法正确的有()。
Thehumorousstorymaybetoldtogreatlength,andmaywanderaroundasmuchasitpleases,andarrivenowhereinparticular;b
A.左室高电压B.左室劳损C.右室肥大D.双室肥大E.左室肥大劳损RV5>2.5mV,STV5下移>0.05mV,TV5倒置,电轴一22°,可诊断为
在周转轮系中,轴线位置变动的齿轮,即作自转,又作公转的齿轮,称为( )。
可转换公司债券的利率由发行公司与()协商确定,但必须符合国家的有关规定。
我国传统文化中的“杏林”指的是()。
为什么说学校教育对人的发展起主导作用?
赵树理是现代小说家。他的小说多以华北农村为背景,反映农村社会的变迁和存在其间的矛盾斗争,塑造农村各式人物的形象,开创的“山药蛋派”成为新中国文学史上最重要、最有影响的文学流派之一。下列属于赵树理作品的有()。
求下列非齐次方程组的一个解及对应的齐次方程组的基础解系:
给出下列的不完整的方法,则下列的()声明可以被加入①行完成此方法的声明。①②{success=connect();③if(success==-1){④thrownewTimedOutException();
最新回复
(
0
)