首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class B { public: virtual void show(){cout <<"B";} };
有如下程序: #include<iostream> using namespace std; class B { public: virtual void show(){cout <<"B";} };
admin
2018-06-19
51
问题
有如下程序:
#include<iostream>
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://kaotiyun.com/show/HNAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是______。#include<iostream>usingnamespacestd;classbase{public:intn;base(intx){
在面向对象方法中,类的实例称为______。
有以下程序:#include<iostream>usingnamespacestd;classsample{private:intx;staticinty;public:sample(inta);staticvo
按照逻辑结构分类,数据结构可分为线性结构和非线性结构,栈属于【】。
()既可重载为一元运算符,又可重载为二元运算符。
已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()。
将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。此时const不是指定函数的返回值,而是修饰______指针。
实体是信息世界中广泛使用的一个术语,它用于表示
随机试题
多根肋骨多处骨折发生胸壁软化后,急救方法是
谈判双方根据主客观因素,经过科学论证、预测及核算后,纳入谈判计划的目标是()。
民用建筑设计中应贯彻“节约”基本国策,其内容是指节约()。
下列税金中,不能通过“营业税金及附加”科目核算的有()。
唐代文学家柳永是第一位具有变革精神的文学家。()
使用Flash软件制作动画的部分界面如下图所示。以下操作会改变原动画效果的是()。
行政诉讼特有的基本原则是()。
最近某市泥头车事故多发,如果你是该市宣传部的工作人员,你怎么组织一次关于此事件的新闻发布会?
医生:看病:病人
每一个OSPF区域拥有一个区域标识符,区域标识符的位数是()。
最新回复
(
0
)