首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
62
问题
有如下程序:
#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全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;voidfun(int&a,______________){intc;c=a;a=b;b=c;}
Sample是一个类,且有如下语句:Samplea[2],*p=newSample;执行这个语句时调用Sample类的构造函数的次数是
有如下头文件:intf1();staticintf2();classMA{public:intf3();staticintf4();};在所描述的函数中,具有隐含的this指针的是()。
将十进制数转换为二进制数的递归函数定义如下:voidd2b(unsignedintn){if((n==0)||(n==1))cout
下列关于模板的表述中,错误的是
在面向对象方法中,不属于"对象"基本特点的是( )。
若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是
下列有关类继承的表述中,错误的是
下面描述中错误的是( )。
下列运算符中,不能被重载的是
随机试题
在确定计税价值和税基的评估时,税收征管部门通常要求使用的价值类型是()。
社会主义初级阶段和新民主主义社会的区别是什么?
再植牙成功的标准中,错误的是
A.中粉B.细粉C.最细粉D.极细粉E.超细粉除另有规定外,儿科用散剂应为()。
以下关于公路运输的特点,说法错误的是()。
某进出口公司(增值税一般纳税人)2011年2月报关进口笔记本电脑45000台,每台关税完税价格为6400元,进口关税税率为60%。已交进口关税和海关代征的增值税,并已取得增值税完税凭证。当月以不含税售价每台8600元全部售出。要求:根据上述资料,回答下题
股东大会通过当次发行议案之日起( )个工作日内,上市公司应当公布股东大会决议。
在社会生产过程中起决定作用的环节是()。
Manystudentsfindtheexperienceofattendinguniversitylecturestobeaconfusingandfrustratingexperience.Thelecturersp
SoonafterstartinghisjobassuperintendentoftheMemphis,Tenn.,publicschools,KrinerCashorderedanassessmentofhisne
最新回复
(
0
)