首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
admin
2021-02-22
30
问题
有如下程序:
#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=new D以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://jikaoti.com/ti/Svh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
冒泡排序在最坏情况下的比较次数是
设某棵树的度为3,其中度为3、1、0的结点个数分别为3、4、15。则该树中总结点数为
定义无符号整数类为UInt,下面可以作为类、UInt实例化值的是
下列关于赋值运算符“=”重载的叙述中,正确的是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误,使得程序输出:10TestClass1注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//****
在公有派生时,派生类中定义的成员函数只能访问原基类的()。
下列运算符中,不能被重载的是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每
建立一个类对象时,系统自动调用()。
下列关于new和delete运算符的叙述中,错误的是()。
随机试题
破伤风最早的临床表现是
患者,女性,29岁。于2个月前发热,牙龈出血,头晕,心悸,月经过多,医务室给止血药,效果不佳,近1月来出血更多,昨天呕出咖啡样液体约500ml,急诊入院。查体:贫血貌,心肺肝脾均无异常。化验WBC2.3×109/L,RBC2.69×1012/L。PLT33
工程开工前,项目部编制“计量检测设备配备计划书”的依据有()。
施工现场临时配电系统中,保护零线(PE)的配线颜色应为()。
各国仲裁法一般规定,仲裁应当公开进行,而裁决为终局性的。
下列属于工作分析在人力资源管理中的作用的是()。
银行业从业人员如果泄露执法活动信息,协助客户隐匿、转移资产,后果将是()。
下列说法正确的是()。
在人事调查资料多、分组细的情况下,基层填报单位采用划记法进行汇总,比卡片法准确。()
一个四位数能被9整除,去掉末位数字后所得的三位数恰是4的倍数,则这样的四位数中最大的一个的末位数字是()。
最新回复
(
0
)