首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
42
问题
有如下程序:
#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://www.kaotiyun.com/show/j2yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classCC{intk;public:CC(intn):k(n){}
为类MyClass重载赋值运算符时,应将其重载为类的
下列关于模板的表述中,错误的是
下列有关类继承的表述中,错误的是
if语句的语法格式可描述为:格式1:if()或格式2:if()else关于上面的语法格式,下列表述中错误的是()。
下列关于模板形参的叙述中,错误的是
有如下两个类定义:classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一个成员变量的定义
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
随机试题
基金合同生效后,基金管理人应逐步调整实际组合直至达到跟踪指数要求,此过程为()。
数控机床的系统有哪些基本功能和选择功能?
A、头孢氨苄B、头孢羟氨苄C、头孢噻吩钠D、头孢噻肟钠E、头孢哌酮3位侧链上含有1-甲基四氮唑基
图7—2—21中所示的是某复杂电路的一部分,A、B两点间的电位差为()V。
一般户外、噪声敏感建筑物户外、噪声敏感建筑物室内进行环境噪声的测量时,距地面高度的共同要求是()a
某承包商于某年承包某外资工程的施工,与业主签订的承包合同约定:工程合同价2000万元;若遇物价变动,工程价款采用调值公式动态结算。该工程的人工费占工程价款的35%,水泥占23%,钢材占12%,石料占8%,砂料占7%,不调值费用占开工前业主向承包商支付合同价
为了便于评价、考核各责任中心的业绩,对一责任中心提供给另一责任中心的产品,其供应方和使用方所采用的转移价格可以不同。()
设NA为阿伏加德罗常数的值,则下列说法正确的是()。
非理性因素是指人的情感、意志,包括动机、欲望、信念、信仰、习惯、本能等,以非逻辑形式出现的幻想、想象、直觉、灵感等也属非理性因素。非理性因素在认识活动中的作用主要有()
ChinesepeoplestarttheirpreparationsfortheSpringFestivalmorethan20daysahead.The12thlunarmonthinChineseiscalle
最新回复
(
0
)