首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
35
问题
有如下程序:
#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/SQyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classPerson{public:Person(strings):name(s){}protected:stringname;
有如下程序:#include#includeusingnamespacestd;classAnimal{public:virtualstring
有如下程序:#includeusingnamespacestd;classAppliance{public:Appliance(){}
下列关于运算符重载的描述中,错误的是
有如下类定义和变量定义:classA{public:A(){data=0;}~A(){}intGetData()const{ret
有如下模板声明:templateclassA;下列声明中,与上述声明不等价的是
判断一个字符串是否是回文串的递归函数定义如下:boolhuiwen(strings){intn=s.length();if(n
已知函数f的原型是voidf(int*a,long&b);,变量v1、v2的定义是:intv1;longv2;下列调用语句中正确的是()。
下列程序段中包含4个函数。其中具有隐含this指针的是()。intfun1();classTest{public:intfun2();friendintfun3():staticintfun4();}
随机试题
判定的敛散性.
男,42岁,腹痛,腹泻2周,近5天来每于晨5时即排出果酱状大便,一天4~5次,大便常规红细胞(++),白细胞(++),大便镜检找到阿米巴滋养体
血站取得《血站执业许可证》后多少时间内未开展采供血工作的,由省级人民政府卫生行政部门注销其《血站执业许可证》
治疗湿热壅滞型腹痛,宜选用
下列不属于国债发行价格的是()。
我国上古时代的三个帝王尧、舜、禹均在山西南部建都,分别是()。
“领导掌握着奖罚权力”描述的是领导的哪种影响力?()
设f(u)有连续的二阶导数且z=f(exsiny)满足方程求f(u).
Annoyerquestionsbyreferringtothefollowingmaterial.Note:Whenmorethanoneanswerisrequired,thesemaybegivenin
Accordingtothepassage,peoplecouldreducethechanceofsufferingheartattackby______.Somescientistsbelievethatther
最新回复
(
0
)