首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-07-23
19
问题
有如下程序:
#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=newD以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://jikaoti.com/ti/C6l0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列语句中,错误的是
下面不能作为结构化方法软件需求分析工具的是
用于定义类的必不可少的C++关键字是
有如下函数模板:templateTcast(Uu){returnu;}其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是()。
在函数中,可以用auto、extern、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
已知表达式--a中的"--"是作为成员函数重载的运算符,则与--a等效的运算符函数调用形式为
下面描述中错误的是( )。
按照标识符的要求,下列选项中,()符号不能组成标识符。
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
学院的每个系都有一名系主任,且一个教师可同时担任多个系的系主任,则实体系主任和实体系间的联系是
随机试题
简述谈判组织的构成原则。
诊断早期慢性肺心病的主要依据是
溃疡性结肠炎常可出现
在使用哌唑嗪期间可能引起()。
采用两步滴定法测定阿司匹林片剂时,lml氢氧化钠滴定液(0.1mol/L)相当于阿司匹林的量应为(阿司匹林的分子量为180.16)
假设陈先生与陈太太是你的新客户,目前正面临生涯与家庭上的转变,需要金融理财师协助规划。经过初步沟通面谈后,你获得了以下家庭、职业与财务信息:一、案例成员二、收支情况陈先生税后月收入为3万元;陈太太无工作收入。目前家庭月生活支出为5000元。三、资
《何梅协定》
移情
Lawyersarelessthan1%ofAmericanadults,【C1】______theyarewell-representedingovernment.Boththepresidentandthevice-p
Hadshestartedtodoitrightnow,shewillgetitdonebeforeChristmasEve.
最新回复
(
0
)