首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
admin
2020-05-14
59
问题
有如下程序:
#include
using namespace std;
class Shape{ //图形类
public:
//图形绘制函数(用显示字母模拟)
virtual void draw()const{ cout<<’S’; }
};
class Circle: public Shape{ //圆形类
public:
void draw()const{ cout<<’C’; }
};
void plot(Shape &s){ s.draw(); }
int main(){
Shape *ps=new Circle;
Circle t;
ps->draw();
t.draw();
plot(t);
delete ps;
return 0;
}
运行这个程序的输出是
选项
A、SCC
B、SCS
C、CSS
D、CCC
答案
D
解析
C++中,多态性调用需要满足两个条件,1、被调用成员函数必须是虚函数;2、必须通过基类类型的引用或指针进行函数调用。多态性使程序在运行时期根据指针或引用所指对象的类型来决定调用哪个函数。
程序中,类Shape定义了虚函数draw(),在派生类Circle中重写了函数draw();main函数中,分别使用指针、对象、引用三种方式调用函数draw(),指针ps是基类指针,指向的是派生类的对象,所以这里根据多态性,将调用Circle中的draw函数,输出"C";对象t是Circle对象,也调用Circle中的draw函数,输出"C";函数plot()执行时引用s引用的是实参t,引用对象是派生类Circle对象,根据多态性,同样调用Circle中的draw函数,输出"C";结果输出为"CCC";答案为D。
转载请注明原文地址:https://kaotiyun.com/show/008p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中正确的是( )。
下面程序的运行结果为( )。 #include <iostream> using namespace std; class A{ public: A(){cout<<" ";} ~A(){cout<<"
重载输入流运算符>>必须使用的原型为
有以下程序()。#include<iostream.h>intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}voidmain()
()是析构函数的特征。
如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用()关键字来修饰。
关于continue语句叙述不正确的是
人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖和()。
在设计程序时,应采纳的原则之一是
A、 B、 C、 D、 D虚函数在运行阶段和类的对象绑定在一起,这样成为动态联编。虚函数声明只能出现在类声明中虚函数原型中,而不能在成员的函数体实现的时候。必须由成员函数来调用或者通过指针、引用来访问虚函数。
随机试题
根据《水利工程施工转包违法分包等违法行为认定查出管理暂行办法》(水建管〔2016〕420号),“工程分包的发包单位不是该工程的承包单位”的情形属于()。
A.硫酸亚铁B.羟基脲C.苯丁酸氮芥D.雄激素E.糖皮质激素慢性粒细胞白血病治疗首选()
某区公明镇同富裕工业园内科裕一、二路,由该省发展改革委员会批准建设,批文编号为省发改投字[2006]第×××号,其中政府投资24%,企业筹集76%资金,采用公开招标的方式,修建园区。两条公路各为一个标段,统一组织施工招标,投标人仅能就这两个标段中的一个标段
喷射混凝土优先选用()。
中央国库业务由中国人民银行经理。未设中国人民银行分支机构的地区,由中国人民银行商财政部后,委托有关银行办理。()
经营者年薪制的基本薪酬,一般是按()支付。
__________的数量是制约幼儿游戏行为的一个因素。
在社会主义市场经济中,政府的宏观调控可以完全解决公平与效率之间的矛盾。()
民主党派参政的基本点是
按照“先进先出”的原则组织数据的结构的是______。
最新回复
(
0
)