首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #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
29
问题
若有以下程序: #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://jikaoti.com/ti/lKW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下程序typedefstructstu{charname[10],gender;intscore;}STU;voidf(STUa,STUb){b=a;printf("%s,%c,%d,",b.na
以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#include#defineN10voidfun(intx[N]){inti=0;while(i<N)scanf("%d",___);}在程序中下划线处应填入
数据库:DB、数据库系统DBS、数据库管理系统DBMS之间的关系是
下列关于栈叙述正确的是( )。
在关系模型中,每一个二维表称为一个
对软件设计中应遵循的准则描述正确的是()。
下面叙述中正确的是()。
下列特征中不是面向对象方法的主要特征的是()。
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
给定程序MODI1.C中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改
随机试题
下列不属于支票关系三方当事人的是()
第二审程序中,作为当事人的法人或其他组织分立的,人民法院可以
普通感冒最常见的病原是
对国家行政管理实施法制监督,下列属于其考查和评价的内容是()。
背景资料:某施工双代号网络进度计划如下图所示,其中A、B、D工作使用同一种施工机械,开工前有一台施工机械出现故障,导致可使用的该机械只有一台,根据现场施工条件,工作顺序调整为B、A、D,设备租赁费2000元/天。问题:
根据票据法律制度的规定,下列有关汇票背书的表述中,正确的是()。
波特的价值链分析分为五种基本活动和四种辅助活动,以下属于基本活动的有()。
根据以下资料,回答下列问题。2010年上半年,全国原油产量为9848万吨,同比增长5.3%,上年同期为下降1%。进口原油11797万吨(海关统计),增长30.2%。原油加工量20586万吨,增长17.9%,增速同比加快16.4个百分点。成品油产量中,汽油
争议:仲裁:裁决
现有四级指令流水线,分别完成取指、取数、运算、传送结果4步操作。若完成上述操作的时间依次为9ns、10ns、6ns、8ns,则流水线的操作周期应设计为(2)ns。
最新回复
(
0
)