首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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://kaotiyun.com/show/j2yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
要定义整型数组x,使之包括初值为1的三个元素,下列语句正确的是
下列关于模板的表述中,错误的是
如果派生类以protected方式继承基类,则基类中的保护成员在派生类中的访问属性是
下列关于基类和派生类关系的叙述中,正确的是
有如下类声明和函数声明:classBase{intm;public:intn;protected:intp;};classDe
下列有关类成员的叙述中,错误的是
数据库设计中反映用户对数据要求的模式是( )。
在关系模型中,每一个二维表称为一个
下列运算符中,不能被重载的是
有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是()。
随机试题
设向量a=(2,4,-5),b=(2,3,k),若a与b垂直,则k=____________.
女性,54岁,心悸、胸闷2天,心电图检查为心房扑动。对于该病例,以下哪一种观点是正确的
首选用于治疗小儿尿血膀胱湿热证的方剂是()
男性,65岁,患糖尿病15年,高血压病10年。查体:双下肢轻度水肿。尿蛋白(++),血肌酐1601μmol/L,眼底检查示视网膜出现棉絮状软性渗出。为延缓该患者糖尿病肾病的进展,不宜采用的措施是
男性,34岁,建筑工人,在一次事故中严重外伤,大量出血,血压下降,少尿,经抢救低血压和血容量已纠正后,尿量仍很少,为避免肾衰竭的进展,应给予下列哪种药物
下列属于传统养护技术的是
依据《特种作业人员安全技术培训考核管理规定》,生产经营单位非法印制、伪造、倒卖特种作业操作证,或者使用非法印制、伪造、倒卖的特种作业操作证的,可作出的处罚有()。
分系统试运行的荷载程序是()的过程。
马克思主义和党的指导思想的与时俱进,首先要求马克思主义要与()。
下列体现质量互变规律的是()。
最新回复
(
0
)