首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
33
问题
有如下程序:
#include
using namespace std;
class B{
public:
virtual void show(){cout<<"B";}
};
class D:public B{
public:
void show(){cout<<"D";}
};
void funl(B*ptr){ptr->show();}
void fun2(13&ref){ref.show();}
void fun3(13 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
解析
在某基类中声明为vjrtual并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象b、对象指针*p=new D以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/he8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在面向对象方法中,允许作用于某个对象上的操作称为【】。
A、 B、 C、 D、 C此题考查的是有关函数的概念。内联函数是在函数定义之前加关键字inline来声明的函数,而不是定义在另一个函数体内部的函数,故选项A)错误;无返回值的函数在执行完最后一条语句后,会自动
若有以下程序:#include〈iostream〉usingnamespacestd;intmain(){intdata[4],i,j,temp;for(i=O;i>data[i];
在下面的函数声明中,存在语法错误的是______。
在下面关于函数的描述中错误的是______。
关于语句#include<iostream>usingnamespacestd;voidmain(){cout<<100.8989663<<’’;com<<fixed<<100.8989663<<’’;cout<<scientific<<100.89
若有以下定义:inta[]={1,2,3,4,5,6,7};charcl=’b’,c2=‘2’;则数值不为2的表达式是()。
关于动态联编的下列叙述中,______是错误的。
在下列关键字中,不能用来表示继承方式的是()。
在下列选项中,不允许作为C++标识符的是
随机试题
剪切直线的剪床有哪几种?
孕激素的生理作用是:
此时对诊断最有帮助的检查是该患者处理方案中哪项是不正确的
在工程施工质量验收层次中,检验批是()的组成部分。
学生观
当学生为了引起教师注意而表现不当行为时,教师可采用不理睬的方式处理。()
在唐朝,附带利息的消费借贷称为()。
下列关于北洋政府时期立法活动特点的表述,不正确的是()。
五四运动是区分资产阶级民主革命与无产阶级社会主义革命的标志。
设矩阵A﹦,当a为何值时,存在可逆矩阵P,使得P-1AP﹦A,并求出此时的矩阵P和相应的对角矩阵A。
最新回复
(
0
)