首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
40
问题
有如下程序:
#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://kaotiyun.com/show/IS8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对虚函数的调用()。
下面程序的输出结果是#include<iostream.h>classexample{inta;public:example(intb){a=b++;}voidpnnt(
对建立良好的程序设计风格,下面描述正确的是
有以下程序#include<iostream>usingnamespacestd;classMyClass{public:MyClass();~MyClass();St
下列关于虚基类的描述中,错误的是
友元运算符obj1>obj2被C++编译器解释为()。
下面关于虚函数的表述中正确的是()。
有如下数组声明:intnum[10];,下标值引用错误的是
A、 B、 C、 D、 B数据库设计阶段主要包括需求分析、概念设计、逻辑设计和物理设计。其中逻辑设计的主要工作是将E.R图转换为关系模式。
程序的3种基本控制结构是
随机试题
下列指标中()不属于机械性能指标。
下列各项关于全胃肠外营养的指征中,不包括
牙龈病中最常见的是
绘制横断面曲线时,在图上确定车辙深度D1、D2,以其中的最大值作为()。
图纸综合会审工作,一般由()负责组织。
某公司将海关确定的应于2016年4月1日(周五)前缴纳的关税税款200000元,拖延至4月8日才缴纳。则该公司应缴纳关税滞纳金()元。
《谢尔曼反托拉斯法》
______islocatedinmetropolitanMelbourne?______hasgolfcoursesnearby?
OrganicArchitectureOneofthemoststrikingpersonalitiesinthedevelopmentofearly-twentiethcenturyarchitecturewasF
ReadingFasterTheonlywaytoreadfasteristoreadfaster,anditisaserioussuggestion.I.Guidelineson【T1】【T1】_____
最新回复
(
0
)