首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class B { public: virtual void show() { cout<<"B"; } };
有如下程序: #include <iostream> using namespace std; class B { public: virtual void show() { cout<<"B"; } };
admin
2009-06-20
37
问题
有如下程序: #include <iostream> using namespace std; class B { public: virtual void show() { cout<<"B"; } }; class D: public B{ public: void show() { cout<<"D"; } }; void fun1(B *ptr) { ptr->show();} void fun2(B &ref) { ref. show();} void fun3(B b) {b.show();} int main() { B b,*p=new D; D d; fun1(p); fun2(b); fun3(d); return 0; }程序的输出结果是
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
本题考查的知识点是:虚函数与多态性。在成员函数声明的前面加上virtual修饰,即把该函数声明为虚函数。在C++中,一个基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。题目中,fun1()和fun2()的形参分别是基类的指针和引用,如果传入的实参是指向派生类对象的指针或派生类对象,则函数中调用的show()为派生类中的show(),否则为基类中的show()。给fun1()传入的实参是指向派生类对象的指针p,而给fun2()传入的实参是基类对象。所以 fun1()调用派生类D中的show()输出一个’D’字符,fun2()调用基类B中的show()输出一个’B’字符。fun3()由于形参为基类对象,所以无论传入的是基类对象还是派生类对象,函数中调用的show()始终为基类的版本,输出一个’B’字符。故最终输出结果为 DBB,应该选择C。
转载请注明原文地址:https://jikaoti.com/ti/FTW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有定义“intx,y;”并已正确给变量赋值,则下列选项中与表达式“(x—y)?(x++):(y++)”中的条件表达式“(x—y)”等价的是()。
设有以下语句typedefstructTT{charc;inta[4];}CIN;则下面叙述中正确的是
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()。
若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为指针指向链表的第一个结点。若有以下程序段:q=s;s=s->next;p=s;while(p->next)p=p->next:p
有两个关系R、S如下:由关系R通过运算得到关系S,则所使用的运算为()。
在软件设计中不使用的工具是()。
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
以下选项中,能用作用户标识符的是()。
在长度为n的顺序表中查找一个元素,假设需要查找的元素一定在表中,并且元素出现在表中每个位置上的可能性是相同的,则在平均情况下需要比较的次数为()。
随机试题
设X1,X2分别为A的属于不同特征值λ1,λ2的特征向量.证明:X1+X2不是A的特征向量.
男性,60岁,胃病史8年,近3个月上腹痛,伴有食欲缺乏及体重下降应选择的处理措施是
边长为50~150cm的洞口,必须设置一层用扣件扣接钢管而形成的网格,并在其上满铺竹笆或脚手板。也可采用贯穿于混凝上板内的钢筋构成防护网格,钢筋网格间距不得大于( )cm。
__________的计算原则是以承包人为某项索赔工作所支付的实际开支为依据,向业主要求费用补偿。()
下列应急预案的编制依据中,属于主观依据的是()。
()不属于旅游职业道德的特点。
发达国家在外包制造业的同时,也将污染排放外包给发展中国家。研究表明,中国22%的一氧化物和17%的黑碳颗粒物排放与出口商品制造有关,这警示我们从根本上治理污染应()。
试述贴现业务与普通贷款业务的区别。
假设随机变量X与Y同分布,X的概率密度为求1/X2的数学期望.
AbrahamLincolnOnNovember19,1863,AbrahamLincolnwenttoGettysburginPennsylvaniatospeakattheNationalSoldiersC
最新回复
(
0
)