首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
admin
2021-02-22
57
问题
有如下程序:
#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/3Efp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在E-R图中,用来表示实体联系的图形是
下列叙述中正确的是
设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为
在快速排序法中,每经过一次数据交换(或移动)后
下列叙述中正确的是
下列与队列结构有关联的是
用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了多个类,但类不能达到输出要求,按照定义的输出修改函数,使得输出如下:TestClass3TestClass2TestClass1其中定义的类并不完整,
派生类的成员函数不能访问基类的()。
已知表达式++x中的“++”是作为成员函数重载的运算符,则与++x等效的运算符函数调用形式为()。
随机试题
做市商制度是指()。
女,24岁,晕车剧烈呕吐,继之呕鲜血50ml,无腹痛及发热。既往体健。查体:无明显贫血征,无黄疸,血压13.8/8.0kPa(90/60mmHg),心肺无异常,腹软,肝脾未扪及,最可能的诊断是
患者,男,54岁。上腹部不适半年,黑便5天,上消化道钡剂造影发现胃窦部不规则龛影,直径6cm。黏膜皱襞中断,邻近胃壁僵硬。纤维胃镜检查为胃窦不规则隆起,有较大溃疡,周围黏膜僵硬,皱襞不规则。临床诊断为溃疡型胃癌。问题2:行常规上腹超声检查,可能发现的声
刺激骨髓红细胞前体分化又称淋巴毒素
()制订会计电算化发展规划,为企业领导提供重大硬件配置、软件使用、项目应用的决策依据。
基金份额总额不固定,而且可以在基金合同约定的时间和场所申购或者赎回的基金是()。
“教育即生活”、“学校即社会”、“从做中学”是()的重要主张。
下列不能正确反映事物之间存在联系的有()。
某学生成绩管理系统的“主窗体”如下图左侧所示,点击“退出系统”按钮会弹出下图右侧“请确认”提示框;如果继续点击“是”按钮,才会关闭主窗体退出系统,如果点击“否”按钮,则会返回“主窗体”继续执行系统。
Ifthereisnodifferenceingeneralintelligencebetweenboysandgirls,whatcanexplaingirls’poorperformanceinsciencean
最新回复
(
0
)