首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
14
问题
有如下程序:
#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://jikaoti.com/ti/OuA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果为()。main(){int a=4,b=3,c=1,d;d=a&&b&&b>c-!0;cout<<d;}
有如下函数模板声明:template<typenameT>TMax(Ta,Tb){return(a)b)?a:b;}下列对函数模板Max()的调用中错误的是()。
对于语句cout<<setfill(‘*’)<<setw(10)<<1<<setfill(‘*’)<<setw(2)<<2;的输出结果是
A、 B、 C、 D、 D栈是一种特殊的线性表,栈是限定在表的一端进行插入和删除运算的线性表。
下列关于类概念的描述中,错误的是()。
在下面的函数声明中,存在语法错误的是______。
结构化程序设计主要强调的是()。
关系数据库的关系演算语言是以【】为基础的DML语言。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分的程序。实现函数sort(intA[],intn),用冒泡法将数组排序。提示:所谓冒泡法,就是每次把相邻的两个数交换,较大的数交换到后面。这样下标从
C++中的模板包括()。
随机试题
下列各项可见于肺炎链球菌肺炎患者的是
下列哪项不是甲状腺乳头状癌的常见特征
百部来源于百部科以下哪种植物的块根
某县人民法院对一起故意伤害案件作出判决后,如果县人民检察院认为该判决确有错误,提出了抗诉,下列哪些说法是正确的?()
利用废气、烟气、高温废液等作为热媒时可以不考虑()。
下列四幅简图中哪幅图为梯田?[2003-2]
因下列事项而减少的固定资产,不通过“固定资产清理”账户核算的有()。
税法与刑法是从不同的角度规范人们的社会行为。下列有关税法与刑法关系的表述中.正确的有()。
新课改实施中,小学阶段主要是()。(2016.广西)
AccordingtotheHadleyCentre,whatisgoingtohappenbythe2050s?
最新回复
(
0
)