首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-06-29
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=newD以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/Gl8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若有以下定义:inta[]={1,2,3,4,5,6,7};charc1=’b’,C2=’2’;则数值不为2的表达式是
执行下面语句后,输出字符“#”的个数是()。for(inti=50;i>1;--i)cout
在下列程序画线处填入的正确语句是()。#include<iostream>usingnamespacestd;classBase{public:voidfun(){
下列关于纯虚函数与抽象类的描述中,错误的是()。
以下关于C++语言类的说法中正确的是
设一棵完全二叉树共有700个结点,则在该二叉树中有【】个叶子结点。
可以用p.a的形式访问派生类对象p的基类成员a,其中a是
下述静态数据成员的特性中,()是错误的。
当用数组元素作函数参数时,这属于【】传递。
支持子程序调用的数据结构是( )。
随机试题
在一定压力下,单位体积的石油所溶解的天然气量,称为该气体的石油()。
消化管平滑肌对下列哪种刺激不敏感()
IwaswonderingthroughthestreetwhenIcaughtsightofastrangestore;therewasn’tanythingbutemptyshelvesatoneendof
Theboatsailedslowly,keeping______tothecoastasthemaninitwasafraidof______thedirection.
公司为获得一项工程合同,拟向工程发包方有关人员支付好处费8万元。公司市场部持公司董事长的批示到财务部领取该笔款项。该项支出不符合有关规定,但考虑到公司主要领导已做了批示,遂同意拨付该笔款项。下列对谢某的做法认定中,正确的是()。
立案监督即人民检察院对公安机关的刑事立案活动是否合法进行的监督。()
若x≥0,则的最小值为3,则α的值为().
从ENIAC开始到今天,可以将电子计算机的发展分为()等几个阶段。
查询最近30天的记录应使用()作为准则。
Educationlevelsarestronglyrelated______income.
最新回复
(
0
)