首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; elass Shape{//图形类 public: //图形绘制函数(用显示字母模拟) virtual void draw()
有如下程序: #include using namespace std; elass Shape{//图形类 public: //图形绘制函数(用显示字母模拟) virtual void draw()
admin
2021-05-06
26
问题
有如下程序:
#include
using namespace std;
elass Shape{//图形类
public:
//图形绘制函数(用显示字母模拟)
virtual void draw()eonst{eout<<’S’;}
};
class Circle:public Shape{//圆形类
public:
void draw()eonst{eout<<’C’;}
};
void plot(Shape&s){s.draw();}
int main(){
Shape木ps=new Circle;
Circle t;
ps->draw();
t.draw();
plot(t);
delete ps;
retum 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中的dmw函数,输出“C”;函数p10t()执行时引用s引用的是实参t,引用对象是派生类Circle对象,根据多态性,同样调用Circle中的draw函数,输出“C”;结果输出为“CCC”;答案为D。
转载请注明原文地址:https://kaotiyun.com/show/6Xfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列有关类继承的叙述中,错误的是()。
下列函数模版中的定义中,合法的是()。
下列运算符函数中,肯定不属于类Number的成员函数的是
使用VC6打开考生文件夹下的源程序文件modi2.epp。阅读下列函数说明和代码,补充空出的代码。函数DecToBin(char*des,intn)的功能是将十进制数据n转换成二进制数据,并将转换结果存放在des中。如:120的二进制数据为11
下列有关内联函数的叙述中,正确的是()。
下列选项中不属于结构化程序设计原则的是( )。
在表达式x+y*z中,+是作为成员函数重载的运算符,木是作为非成员函数重载的运算符。下列叙述中正确的是()。
在一棵二叉树上,第5层的结点数最多是()。
下列字符中,可以出现在合法的C++标识符中的是
在软件设计中不使用的工具是
随机试题
患者,男性,20岁。在一次体检中发现HBsAg阳性,当时无自觉症状及体征,肝功能正常。次年5月,因突然乏力、恶心、厌食、尿黄而入院。化验:ALT500U/L,TBIL85μmol/L,抗-HAVIgM(+)。该患者的诊断可能为
临床教师扮演了众多的角色,其中排在第一位的角色是【】
简述物流企业存货的功能。
企业、事业单位建立本单位各项(),必须向与其主管部门同级的人民政府计量行政部门申请考核,经考核取得合格证的方可使用。
行政责任的承担方式包括行政处罚和()。
椰枣干
粤西酒店如果既有清蒸石斑,又有白灼花螺,则一定会有盐焗花蟹;酒店在月尾从不卖盐焗花蟹;只有当粤西酒店卖白灼花螺时,老王才会与朋友到粤西酒店吃海鲜。如果上述断定为真,以下哪项一定为真?
在考生文件夹下TING文件夹中建立一个名为“CHE”的新文件夹。
"Let’sstartourmeetingimmediately______everyonehasarrived,"thechairmansaid.
A、Howtopersuadeotherstodocarwash.B、HowtoorganizetheThanksgivingparty.C、Howtogettheraising-moneymessageout.D
最新回复
(
0
)