首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #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
44
问题
若有以下程序: #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全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>voidmain(){intn=2,k=1;while(1(k>0‖n++));printf(’’%d%d\n’’,k,n);}程序运行后的
有以下程序#include<stdio.h>main(){FILE*f;f=fopen("filea.txt","w");fprintf("abc");fclose(f);}若文本文件filea.txt中原有内容为:hello,则运行以上程序
以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#include#defineN10voidfun(intx[N]){inti=0;while(i<N)scanf("%d",___);}在程序中下划线处应填入
有以下程序:#include<stdio.h>voidf(intb[]){inti;for(i=2;i<6;i++)b[i]*=2;}main(){i
下列叙述中正确的是()。
若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是
以下叙述中错误的是
请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中X是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。注
有三个关系R、S和T如下:则关系T是由关系R和S通过某种操作得到,该操作为( )。
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是()。
随机试题
A公司以其房屋作抵押,先后向甲银行借款100万元、乙银行借款300万元、丙银行借款500万元,并依次办理了抵押登记。后丙银行与甲银行商定交换各自抵押权的顺位,并办理了变更登记,但乙银行并不知情。因A公司无力偿还三家银行的到期债务,银行拍卖其房屋,仅得价款6
简述民法的主要制度。
乳癖的肿块特点是( )。
账户按用途和结构分类,“累计折旧”属于调整账户。()
为了规避(),银行须将质押资金转为定期存单单独保管,或者采取更为妥当的方式,将其转入银行名下的保证金账户。
下列关于资本作用的说法中,正确的有()
查理曼帝国后来分裂为三部分,发展成了三个封建国家,下列哪个国家不在其中?()
简述矫正学生不良行为的心理策略。
人们在社会生活中形成和应当遵守的最简单、最起码的公共生活准则是()
Americansaremoresociallyisolatedthantheywere20yearsago,separatedbywork,commutingandthesinglelife,researchers
最新回复
(
0
)