首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2021-05-06
22
问题
有如下程序:
#include
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);
delete p;
return 0;
}
执行这个程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象 b、对象指针*p=new D以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://jikaoti.com/ti/Bmh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有定义语句“inti=2,j=3;”,则表达式i/j的结果是()。
在类中重载赋值运算符时,应将其声明为类的()。
己知在一个类体中包含如下函数原型:VOLUMEoperator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是()。
在三级模式之间引入两层映像,其主要功能之一是()。
下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
下面对软件测试描述错误的是
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。
在C++语言系统中,用于输入数据所使用的标识符cin是
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()。
随机试题
Whichlettercomesnextinthisseriesofletters?BACBDCEDF?
无色散原子荧光采用的空心阴极灯阴极孔径大、输出光斑较小。
正常小肠能产生逆蠕动的部位在:
记账凭证账务处理程序的主要特点是()。
评价标准不同属于会计职业道德与会计法律制度的区别。()
古德莱德的课程分类理论及其影响。
关于因果关系的认定,下列哪一选项是正确的?()
在窗体上面—个名称为Command1的命令按钮,并编写以下程序:PrivateSubCommand1_Click()Printfun("ABCDEFG")EndSubFunctionfun(stAsS
Readthefollowingtextanddecidewhichanswerbestfitseachspace.Forquestions26~45,markoneletterA,B,CorDony
Firstthegoodnews;9in10peoplesaidtheyweresatisfiedwiththeirjobsortheworkthattheydo—andthatremainedsteadyt
最新回复
(
0
)