首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2015-07-22
23
问题
有如下程序:
#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/ptE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列对结构及其变量定义错误的是()。
磁盘文件操作中,打开磁盘文件的访问方式常量中,()是以追加方式打开文件的。
下面程序的输出结果是【】。#include<iostream>usingnamespacestd;classA{inta,b;public:A(){
有以下程序#include<iostream>usingnamespacestd;classBase{private:charc;public:Base(charn):c(n
有如下类的定义。空格处的语句是classMyClass{______intx,y;public:MyClass(inta=0,intb=0){x=a;y=b;
有以下程序#include<iostream>usingnamespacestd;inta;intfun();intmain(){externinta;intb;
下列叙述中正确的是
下列关于栈的叙述正确的是
下列有关数据库的描述,正确的是
执行语句序列ofstreamoutfile("DATA.DAT");if(...)cout<<"OK";elsecout<<"FAIL";后,如果文件打开成功,显示"OK",否则就显示"FAIL"。由此可知,上面if语句的...
随机试题
Crimeinthecitieshashadmorepublicitythancrimeinthesuburbs,butinrecentyearsmanyofthesuburbshavefoundtheirc
A.地尔硫革B.尼群地平C.尼莫地平D.硝苯地平E.维拉帕米对脑血管选择性作用最强的钙拮抗药是
大气环境影响预测内容依据()而定。
在基坑井挖过程中,明排水法的集水坑应设置在()。
下列指数中,与其他指数特征不同的是()。
建筑自动消防设施的建筑工程,在工程( ),施工安装单位必须委托具备相应资格的建筑消防设施检测单位进行测试,取得建筑消防设施技术测试报告。
管理发展的新趋势是()。
求y=χ+的渐近线.
DerMannreicht______FraudieGabel.
A、Whetheritismoral.B、Whoitisbestfor.C、Whenitiseffective.D、Howitshouldbeused.AWhatisthebiggestconcernwith
最新回复
(
0
)