首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
57
问题
有如下程序:
#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;classTV{public:TV(ints=41):size(
下列运算符中,不能被重载的是
下列函数模板的定义中,合法的是
若要在Viz类中将*重载为一元运算符,下列重载函数声明中肯定有错的是
必须用一对大括号括起来的程序段是()。
if语句的语法格式可描述为:格式1:if()或格式2:if()else关于上面的语法格式,下列表述中错误的是()。
请使用“答题”菜单或使用VC6打开考生文件夹下的工程proj3,其中定义了Septinary类(七进制类),来表示一个七进制的数及其相关操作。和十进制的数“逢十进一”类似,七进制的数定义为“逢七进一”。这里对Septinary类的数据成员做一下说
请使用VC6或使用【答题】菜单打开考生文件夹pmj3下的工程proj3,其中使用友元函数访问类的私有数据成员,求出两个数据成员的大于1的最小公因子。请编写友员函数FriFun,使其输出结果为:Commondenominatoris2要求:补充编制
学院的每名教师只能属于一个系,则实体系和实体教师间的联系是
随机试题
根据分子理论,当熔渣的碱度()时称为碱性熔渣。
下列哪种眼病不出现代偿头位
可治疗类风湿关节炎,症见关节疼痛,局部肿大,屈伸不利、腰膝酸软、畏寒乏力等,所选用的成药是
下列关于地震的特征及防震措施的描述中错误的是()。
台湾最大的公园是()。
【2015年吉林辽源.多选】教师劳动的特点包括()。
回避制度是指与刑事案件有某种利害关系或其他特殊关系的司法工作人员,包括侦查人员、检察人员、审判人员、书记员、鉴定人、翻译人员等,不能参加该案件处理工作的一项诉讼制度。在某一案件中,下列人员可以不回避的是()。
生物入侵是指生物由原生存地经自然的或人为的途径侵入到另一个新的环境,对入侵地的生物多样性、农林牧渔业生产以及人类健康造成经济损失或生态灾难的过程。根据上述定义,下列情形属于生物入侵的是:
设f(x)在(-a,a)(a>0)内连续,且f′(0)=2.证明:对0<x<a,存在0<θ<1,使得∫0xf(t)dt+∫0-xf(t)dt=x[f(θx)-f(-θx)].
Thepolicereleasedthefirstvideoimagesyesterdayofthetwomenbelievedtohavebeeninvolvedin【T1】________ajewelryshop
最新回复
(
0
)