首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
36
问题
有如下程序:
#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全国计算机二级
相关试题推荐
有如下类声明:classMau{intk;constintm;public:Mau(intk1,intm1);};则构造函数Mau的下列定义
下列关于运算符重载的叙述中,错误的是()。
下列各组类型声明符中,含义相同的一组是()。
有如下类声明:classBase1{};classBase2{};classDerived:publicBase2,publicBase1{};在一个Derived对象消亡时,析构函数被调用的顺序
下列叙述中,正确的是
关系R经过运算σA=B^C>4^D>3(R)的结果为
下列有关类继承的叙述中,错误的是()。
若有下面的函数调用:fun(a+b,3,max(n-1,b))则fun的实参个数是()。
如下函数模板:templateTsquare(Tx){returnx*x;}其中T是()。
在E-R图中,用来表示实体的图形是()。
随机试题
患者,男,30岁,因发热、寒战、胸痛、咳嗽、咳痰3天入院,诊断为肺炎、感染中毒性休克。给予青霉素治疗,针对休克的根本治疗措施是
对洗衣房的医院感染管理,下列哪项错误
骨髓穿刺术可供选择的穿刺部位是
关于MDS细胞遗传学改变的叙述,不正确的是
患者,女,57岁。胆总管结石。入院行胆总管切开探查,T型管引流术。若患者出院时仍然不能讲T型管拔除,不妥的出院指导是
有关氯沙坦的叙述,正确的是
影响对外贸易经济效益的因素是()。
设三阶实对称矩阵的秩为2,λ1=λ2=6是A的二重特征值,若α1=(1,1,0)T,α2=(2,1,1)T,α3=(一1,2,一3)T都是A的属于特征值6的特征向量.(1)求A的另一特征值和对应的特征向量;(2)求矩阵A.
Duringthe19thcenturyscientistsfoundthatwhencertainpartsofthebrainwere(36),menlostthe(37)todocertaint
A、 B、 C、 A
最新回复
(
0
)