首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class GA{ public: virtual int f( ){return 1;} }; class GB:pu
有如下程序: #include<iostream> using namespace std; class GA{ public: virtual int f( ){return 1;} }; class GB:pu
admin
2012-01-20
59
问题
有如下程序: #include<iostream> using namespace std; class GA{ public: virtual int f( ){return 1;} }; class GB:public GA{ public: virtual int f( ){return 2;} }; void show(GA g){eout<<g.f( );} void display(GA&g){cout<<g.f( );} int main( ){ GA a;show(A) ;display(A) ; GB b;show(B) ;display(B) ; return 0; } 程序的输出结果是
选项
A、1111
B、1211
C、1112
D、1212
答案
C
解析
基类对象作为实参进行传递时,无论使用的是对象还是对象引用作为形参,都只能在该函数中调用基类成员函数,因此当GA a作为实参时,调用的只能是GA的成员函数。而当派生类对象作为实参传递时,函数的形参则要分情况而定:如果是普通的对象传递,则是值传递,那么在函数中也只能调用基类的成员函数;如果是对象引用作为形参,则是地址传递,这个时候函数就可以调用重载后的虚成员函数。
转载请注明原文地址:https://www.kaotiyun.com/show/6tVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>main(){charb,c;inti:b=’a’;c=’A’;for(i=0;i<6;i++){if(i%2)putchar(i+b);elseputchar(i+c);}pr
下面结构体的定义语句中,错误的是()。
以下关于宏的叙述中正确的是()。
若有“doublea;”,则正确的输入语句是()。
某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分
程序中若有以下的说明定义和语句:#include<stdio.h>#include<string.h>structSTR{charhum[10];ints;};main(){structSTRt,*p;p=&t;则不能给变量t的
以下选项中不合法的标识符是()。
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为______。
随机试题
下官此来,并非擅造潭府。
龈沟液的作用不包括()
下列有关护理诊断排序原则的描述,正确的是
建设工程总概算中的单项工程综合概算可分为( )。
挖土(方)路基及填土(方)路基基底均应进行压实。其路基压实要求包括()。
设置会计工作岗位,一般可以()。
随机抽取25个网络用户,得到他们的年龄数据如表2—21所示。要求:(1)计算众数、中位数;(2)计算平均数和标准差;(3)计算偏态系数和峰态系数;(4)对网民年龄的分布特征进行综合分析。[南京大学2009研]
Whohasn’twantedtomasternotjusttwolanguagesbut10?TakeGiuseppeMezzofanti,a19th-centurypriestwhowassaidtobe【C1
Writeanessaybasedonthedrawing.Inyourwriting,youshould1)describethedrawingbriefly,2)explainitsintende
InourstudyofEnglish______isnecessarytopractisespeakingandlistening.
最新回复
(
0
)