首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
admin
2015-07-22
43
问题
有如下程序:
#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/48Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在面向对象方法中,属性与操作相似的一组对象称为【】。
如果表达式y*x+十中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
在关系数据库中,用来表示实体之间联系的是
数据库系统中实现各种数据管理功能的核心软件称为【】。
在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为
对下列二叉树进行中序遍历的结果为【 】。
深度为5的满二叉树有【 】个叶子结点。
派生类对基类的继承有三种方式:______、______,保护继承。
类模板的模板参数()。
随机试题
全面质量管理的特征是:全员参加的质量管理和全面质量管理。
一女性患者,58岁,近1周左眼视力下降,头痛,恶心,呕吐,眼红,到医院就诊,检查左眼视力0.2,结膜充血,无分泌物,角膜水肿,瞳孔中度散大,眼底看不清。最有可能的诊断是
核医学方法测定血容量的基本原理是
甲乙两村相邻,耕地范围不清,县土地管理部门重新划分了两村土地界限,甲村不服,则:()
证券市场的有效性包含()的要求。
物体发出光,或者被发光,总之,只要从物体来的光到达我们的眼睛,就会在眼睛中成像。这样我们就看到了物体。因为日常经验中光是直线行进的,沿着光到达眼睛的方向反推过去,就判断出物体所在的方向;再根据光线角度的变化程度判断出物体的远近。如果光线拐了弯到达我们的眼睛
简述教师进行课外辅导的要求。
多尿指每日尿量为()。
改变积分次序f(x,y)dx+f(x,y)dx.
在CPU中配置高速缓冲器(Cache)是为了解决______。
最新回复
(
0
)