首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
若有以下程序: #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
47
问题
若有以下程序: #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://www.kaotiyun.com/show/yXjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#include<stdio.h>main(){ints,t,A=10;doubleB=6:s=sizeof(A);t=sizeof(B);printf
有以下程序#includemain(){inta[3]={0},i,j,k=2;for(i=0;i
层次型、网状型和关系型数据库划分原则是
若已建立以下链表结构,指针p、s分别指向如图所示结点则不能将s所指节点插入到链表末尾的语句组是
若有定义:inta,b;通过语句scanf("%d;%d",&a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是
已知二又树后序遍历序列是CDABE,中序遍历序列是CADEB,它的前序遍历序列是()。
下列方法中,属于白盒法设计测试用例的方法的是()。
算法的有穷性是指()。
设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。现经过一系列入队与退队操作后,front=rear=1,此后又正常地插入了两个元素。最后该队列中的元素个数为
标准库函数fgets(str,n,fp)的功能是()。
随机试题
甲公司买通乙公司员工,获得乙公司的产品制造方法及客户名单等保密信息。其后甲公司以乙公司的名义与乙公司客户进行交易。甲公司的行为侵犯了乙公司的
Educationisnotanend,butameanstoanend.Inotherwords,wedonoteducatechildrenonlyforthepurposeofeducatingthe
(2008)按建筑结构制图标准规定,图示符号表示下列何项内容?
人的“第二个青春期”是指()。
You’rebusyfillingouttheapplicationformforapositionyoureallyneed;let’sassumeyouonceactuallycompletedacoupleof
以御史台作为中央最高监察机关的朝代有()。
小陈:目前1996D3彗星的部分轨道远离太阳,最近却可以通过太空望远镜发现其发出闪烁光。过去人们从来没有观察到远离太阳的彗星出现这样的闪烁光,所以这种闪烁光必然是不寻常的现象。小王:通常人们都不会去观察那些远离太阳的彗星,这次发现的19961)3彗星闪烁
求极限
Doyoueverwonderwheretelevisionwordscomefrom?ManyTVtermscomefromthecombinationoftwowords.Eventhewordtelevis
WhereDoDreamsComefrom?Doyouoftendreamatnight?Mostpeopledo.Whentheywakeinthemorningtheysaytothemselve
最新回复
(
0
)