首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #include <iostream> using namespace std; class Base { public: Base() { x=
若有以下程序: #include <iostream> using namespace std; class Base { public: Base() { x=
admin
2009-02-15
56
问题
若有以下程序: #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和Derivec[2都是由共同的 基类x派生而来的,但由于引入了虚基类,使得它们分别对应基类的不同副本。这时数据成员x只存在一份拷贝,不论在类Derivedl中修改,还是在类Derivect2中修改,都是直接对这惟一拷贝进行操作。本题程序执行语句“Derived obj;”时,就会先调用虚基类Base的构造函数,使得x=0,然后执行类Derivedl的构造函数使得 x=10,再执行类Derived2的构造函数,使得x=20。最后输出x的值为20。
转载请注明原文地址:https://kaotiyun.com/show/O7kp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
计算机能直接执行的程序是()。
若要求从键盘读入含有空格字符的字符串,应使用函数()。
有如下程序:#includemain(){inta=0,b=1;if(a++&&b++)printf("T");elseprintf("F");printf("a=
数据库设计中反映用户对数据要求的模式是()。
若有定义语句:char*s1="GOOD",*s2="good";以下选项中,能够输出“GOOD”语句是()。
若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()。
关于算法,以下叙述中错误的是()。
下面不属于需求分析阶段工作的是()。
关于算法,以下叙述中错误的是
算法的时间复杂度是指
随机试题
属于细胞周期非特异性药物的化疗药物是
A、外伤性脱位B、病理性脱位C、完全性脱位D、先天性脱位E、习惯性脱位髋关节结核引起
不符合胰腺导管癌病变特点的是
划拨国有土地使用权是国有土地使用权的一种,其特殊之处主要有两个方面:一是(),二是权利的无期限。
工程咨询邀请招标也称有限竞争性招标,其特点是()。
产品开发的方法中,交叉组合法的特点是()。
—Didyoutidyyourroom?—No,IwasgoingtotidymyroombutI________visitors.
某班50名学生,在第一次测验中26人满分,在第二次测验中21人满分,如果两次测验中都没有得到满分的学生有17人,那么两次测验中都获得满分的人数是()。
有以下程序:#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf("%d\n",S(k+j));}程序的运行结果是()。
Opinionpollsarenowbeginningtoshowanunwillinggeneralagreementthat,whoeveristoblameandwhateverhappensfromnowo
最新回复
(
0
)