首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #include <iostream> using namespace std; class A { protected: int a; public: A() {
若有以下程序: #include <iostream> using namespace std; class A { protected: int a; public: A() {
admin
2010-03-29
48
问题
若有以下程序: #include <iostream> using namespace std; class A { protected: int a; public: A() { a=10; } }; class A1 : public A { public: A1() { a=a+1; } }; class A2 : public A { public: A2 () { a=a+2; } }; class B : public A1,public A2 { public: B(){} void print() { cout<<a<<end1; } }; int main ( ) { B obj; obj.print(); return 0; } 程序运行后的输出结果是( )。
选项
A、产生语法错误
B、11
C、12
D、10
答案
1
解析
本题考核派生类的定义和使用。本程序有语法错误,这是由于类B中的 print函数中的语句“cout<<a<<end1;”要输出成员a的值,从而产生了二义性。分析如下:程序中定义了类A,类A1和类A2都是在类A的基础上以公有继承方式产生的派生类,而类B是在类A1和类A2的基础上经过多重继承方式产生的派生类,所以在类B中成员a有两个拷贝,系统无法区分是从A1继承过来的a,还从A2类继承过来的a。
修改方法有以下两种:
①在被访问的成员加上作用域分辨符“::”。将类B中的print()函数体中语句改为:
cout<<A1::a<<end1;
或
cout<<A2::a<<end1;
但两者的输出结果不同,前者输出11,而后者输出12。
②采用虚基类的方法。就是在定义A1和A2时,在派生方式前加上关键词“virtual”。
转载请注明原文地址:https://kaotiyun.com/show/yXjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#includemain(){charc;c=getchar();do{putchar(C++);}while((C=getchar())!=’#’);}程序运行时从第一列开始输入abcdefg##
有如下程序#include#defineD(x)4*x+1main(){inti=2,j=4;printf("%d\n",D(i+j));}程序运行后的输出结果是()。
有三个关系R、S和T如下:则由关系R和S得到关系T的操作是()。
若变量已正确定义,以下选项中非法的表达式是
若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是
以下叙述中错误的是()。
请编一个函数fun(char*s),函数的功能是把S所指字符串中的内容逆置。例如:字符串中原有的字符串为:abcdefg,则调用该函数后,串中的内容为:gfedcba。注意:部分源程序存在文件PROGl.C中。请勿改动主函数m
算法的空间复杂度是指()。
设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。现经过一系列入队与退队操作后,front=rear=1,此后又正常地插入了两个元素。最后该队列中的元素个数为
随机试题
黑白瓶法通过测定水体中的_______浓度来测定水体的初级生产力。
机体获得人工主动免疫的方式是
女性,60岁,慢性肺心病顽固性心力衰竭,经综合治疗及强心利尿效果不佳。应进一步采取以下哪项措施
患者,男,22岁。唇微绀,心界向左扩大,心尖部触及舒张期震颤,第一心亢进,可闻及舒张中期杂音,提示
国家调整汽车消费税政策,旨在抑制大排量汽车的生产和消费,促进国家节能减排工作目标的实现。这体现的哲理有()。
根据《中华人民共和国消费者权益保护法》的规定,消费者因产品缺陷造成人身、财产损害的,可以向销售者要求赔偿,也可以向()要求赔偿。
请在“答题”菜单中选择相应的命令,并按照题目要求完成下面的操作。注意:以下的文件必须保存在考生文件夹下。销售部助理小王需要针对2012年和2013年的公司产品销售情况进行统计分析,以便制订新的销售计划和工作任务。现在,请按照如下需求完成
下列对于软件测试的描述中正确的是
Pollutionisa"dirty"word.Topollutemeanstocontaminate—tospoilsomethingbyintroducingimpuritieswhichmake(31)unfit
Iliveinabigcity.It’snoisyanddirtyandIgetvery【C1】______.AttheweekendsIliketoleavethecityandgetsome【C2
最新回复
(
0
)