首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class B{ public: virtual void f(){cout<<’’B’’;} void g(){
有如下程序: #include<iostream> using namespace std; class B{ public: virtual void f(){cout<<’’B’’;} void g(){
admin
2017-11-28
37
问题
有如下程序:
#include<iostream>
using namespace std;
class B{
public:
virtual void f(){cout<<’’B’’;}
void g(){cout<<’’B’’;}
};
class D:public B{
public:
void f(){cout<<’’D’’;}
void g(){cout<<’’D’’;}
};
void h(B*p){ p->f();p->g();}
int main(){
D obj;
h(&obj);
return 0;
}
运行这个程序的输出结果是( )。
选项
A、DD
B、BB
C、BD
D、DB
答案
D
解析
在基类B中定义虚函数f()和成员函数g(),而在派生类D中定义了函数f()和同名函数g()。而函数h中的形参为指向基类的指针变量p,所以在主函数中执行h(&obj)时,会调用派生类的函数f(),输出D,再调用基类的函数g(),输出B。
转载请注明原文地址:https://kaotiyun.com/show/HxAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是,
有如下语句序列:intk=0;do{k+=5;cout<<’$’;}while(k<19);while(k--0>0)cout<<’*’;执行上面的语句序列输出字符$和*的个数分别是
下面程序有注释的语句中,错误的语句是( )。 #include <iostream> using namespace std; class A{ int a; public: void show A()
下列说法错误的是( )。
一个类可以同时继承多个类,称为多继承。下列关于多个继承和虚基类的表述中,错误的是
以下函数调用语句中含有参数的个数是excc((V1,V2),(V2,V3,V4),V6);
以下函数模板main()的功能是:返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typenameT>Tmax(Ta[],intn){Tm=a[0];for(inti:1;i(n;i++)if(
下列选项中不属于结构化程序设计方法的是()。
相对于数据库系统,文件系统的主要缺陷有数据关联性差、数据不一致性和
下列关于多态性的描述,错误的是
随机试题
甲公司向乙公司订购一批专门从澳大利亚进口的奶粉,乙公司在订立合同时将国产奶粉谎称为进口奶粉。甲公司事后得知实情,恰逢国产奶粉畅销,甲公司有意继续履行合同,乙公司则希望将这批货物以更高的价格售与他人。若下列情形均发生于合同订立之日起1年内,请回答下列问题并
中国能归属的语系之一是()
马斯洛的需要层次论认为,人的最高层需要是()
患者,女,41岁。左下后牙区胀痛不适4周。体检见面部两侧基本对称,远中一瘘口,有少量乳白色物质溢出,临床诊断为角化囊肿为进一步确定病变范围,首选的检查是
下列各种人工填土中,哪一种属于杂填土?
进行交叉作业时,下层作业的位置,必须确定处于上层高度可能坠落范围半径之外。下列关于交叉作业的要求中,错误的是()。
战略投资者是与发行人业务联系紧密且欲长期持有发行公司股票的机构投资者。战略投资者应当承诺获得配售的股票持有期限不少于( )个月。
甲公司以100万元的价格向乙公司订购一台机床,根据合同约定,2017年4月1日,甲公司签发一张以乙公司为收款人、金额为100万元的银行承兑汇票,承兑人为A银行,到期日为2017年7月1日。2017年4月4日,乙公司将该银行承兑汇票丢失,被B拾得。4月5日,
致力于发展学生道德判断能力的德育模式是()
某甲欲购买一台电脑,一日,其友某乙去出售电脑的丙贸易公司办事,某甲遂请某乙转告贸易公司自己欲按贸易公司寄送的价目表购买电脑一台,要求次日送货。这里的某乙,在民法上属于某甲的()。
最新回复
(
0
)