首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-06-29
72
问题
有如下程序:
#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/Gl8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序 #include<iostream.h> voidmain() {inta=5,b=0,c=0; if(a=b+c)cout<<"***"<<endl; elsecout<<"$$$"<<endl
当ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
若从键盘输入83,则以下程序输出的结果是______。#include<iostream.h> viodmain(){inta;cin>>a;if(a>>60)cout<<a;if
在派生类中,对类对象成员,基类成员和非类对象成员的初始化程序是【 】。
C++语言提供的基本控制结构可以分为3种类型:顺序结构、【】和循环结构。
在下列程序画线处填入的正确语句是()。#include<iostream>usingnamespacestd;classBase{public:voidfun(){
以下关于C++语言类的说法中正确的是
关于getline()函数的下列描述中,错误的是()。
C++中的数据类型大体上可以分成三类:它们是______、______和______。
程序流程图中带有箭头的线段表示的是( )。
随机试题
简述在德育实践中运用说服法的基本要求。
关于思维奔逸下列哪个是正确的
()决定了政府进行政府采购的根本目的是为了最大化其政治支持。
下列个人收入,应按照“特许权使用费所得”项目缴纳个人所得税的有()。
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性()。
企业标准化是指以提高经济效益为目标,以搞好生产、管理、技术和_________等各项工作为主要内容。
当今世界,科技与文化的融合互动已成为推进文化发展的强大动力,科技创新为当代文化的发展创造了新的文化形态,提高了文化产品的科技含量。作为全国政治中心、文化中心和国际交往中心,北京文化底蕴丰厚,拥有创新人才优势和高新技术优势。因此,当前推动北京文化大发展大繁荣
民法[浙工商2015年研]
It’sanannualback-to-schoolroutine.Onemorningyouwavegoodbye,andthat【C1】______eveningyou’reburningthelate-nightoil
Theidea"happiness",tobesure,willnotsitstillforeasy【B1】______:thebestonecandoistotrytosetsome【B2】______tot
最新回复
(
0
)