首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-05-14
29
问题
有如下程序:
#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://www.kaotiyun.com/show/IS8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
E-R模型设计属于数据库的______。
C++目标程序经【】后生成扩展名为exe的可执行程序文件。
已知一个函数的原型是:intfn((toubiex);若要以5.27为实参调用该函数,应使用表达式______。
决定C++语言中函数的返回值类型的是()。
下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的选项是#include<iostream.h>voidmain(){inta,b,t;
下列语句的输出结果cout<<strlen("\t\"\065\xff\n");
下列不属于结构化分析的常用工具的是
下列关于运算符重载的叙述中,错误的是
A、 B、 C、 D、 B数据库设计阶段主要包括需求分析、概念设计、逻辑设计和物理设计。其中逻辑设计的主要工作是将E.R图转换为关系模式。
以下4个程序中,不能实现两个实参值进行交换的是()。
随机试题
酸枣仁汤中具有宁心安神作用的药物是
关于颈椎病的分型不正确的是
关于申请测绘资质的说法,正确的是()。
使用洁净水对管道系统进行连续冲洗的目的是清除管道内的( )。
在平面直角坐标系中,椭圆C和圆C0均以原点为中心.设椭圆C的方程为=1(a>b>0),⊙C0和x轴的交点与椭圆的焦点重合,且圆C0与椭圆C相交于四点,将这四点连接起来得到一个长方形.若椭圆C的短轴长为,且得到的长方形面积为,求椭圆C和⊙C0的方程.
根据《突发事件应对法》的规定,下列说法正确的是()。
下列关于抵押合同形式的表述,正确的是()。
根据下图所示网络结构回答下列问题。填写路由器RG的路由表项①至⑥
从项目“学生管理.pjx”连编应用程序“学生管理系统”应使用的命令是()。
下面()方法与applet的显示无关。
最新回复
(
0
)