首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
57
问题
有如下程序: #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://kaotiyun.com/show/7ojp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
定义结构体数组structstu{intnum;charname[20];}x[5]={1,"ZHAO",2,"QIAN",3,"SUN",4,"LEE",5,"ZHOU"};for(i=1;i<5;i++)printf("%d%c",x
用于软件测试的实例主要包括哪些内容?()
有以下函数intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下关于aaa函数功能叙述正确
有以下程序段:charstr[4][12]={"aaa","bbb","ccc","ddd"},*p[4];inti;for(i=0;i<4;i++)p[i]=str[i];以下选项中不能正确引用字符串的是()。
以下选项中函数形参不是指针的是
软件详细设计生产的图如图:该图是()。
下列有关数据库的描述,正确的是()。
算法的有穷性是指()。
算法的有穷性是指()。
给定程序MODII.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更
随机试题
缺失,双侧上颌结节过度增生,相应牙槽嵴骨尖,远中深龋,远中舌尖缺损,已做完善根管充填,不松动,智齿,近中阻生,牙石(+++)。上颌义齿戴用后,在静止和说话,打呵欠时固位均好,但咀嚼食物时义齿易脱位,应做的处理是
对世界银行来讲,项目完工报告应在()时准备,在贷款关账后()个月内完成。
关于期货交易所的合并、分立,下列说法正确的是()。
营业部处置突发事件应遵循的原则是()
根据《商标法》的规定,注册商标的有效期为10年,自( )算起。
实收资本的金额和企业注册资本的金额总是相等的。()
属于个别化教学的是()
结合材料回答问题:材料1国家主席习近平3月26日晚在北京出席二十国集团领导人应对新冠肺炎特别峰会并发表题为《携手抗疫共克时艰》的重要讲话:习近平强调,面对突如其来的新冠肺炎疫情,中国政府、中国人民不畏艰险,始终把人民生命安全和身体健康摆在第
设A=,则A一1=____________.
从网络使用者角度考虑,因特网是【 】网。
最新回复
(
0
)