首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; elass Shape{//图形类 public: //图形绘制函数(用显示字母模拟) virtual void draw()
有如下程序: #include using namespace std; elass Shape{//图形类 public: //图形绘制函数(用显示字母模拟) virtual void draw()
admin
2021-05-06
28
问题
有如下程序:
#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全国计算机二级
相关试题推荐
有如下程序#include<iostream>iasingnamespacestd;classTest{public:Test(){}Test(constTest&t){cout<<1;
已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10}:则下列说法中错误的是()。
以下程序的执行结果是()。#includeclassTestClass2{public:TestClass2(){);TestClass2(inti,intj);void
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。(1)定义类的公有数据成员函数No、Name[32],其中No是int型的数据,Name[32]为字符型。请在注释1后添加适当的
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
软件设计中模块划分应遵循的准则是()。
对如下二叉树进行后序遍历的结果为()。
设一棵完全二叉树共有700个结点,则此二叉树中的叶子结点数为()。
在进行逻辑设计时,将E-R图中实体之间联系转换为关系数据库的
在软件生命周期中,能准确确定软件系统必须做什么和必须具备哪些功能的阶段是()。
随机试题
(2012年4月,2008年10月)戊戌维新时期,维新派在上海创办的影响较大的报刊是________。
检查肺动脉瓣狭窄时,彩色多普勒血流显像的滤波(filter)应怎样调节
主要来源于糖皮质激素的代谢产物是
生长速度快,恶性程度高,对化疗敏感的肺癌是
按照我国银监会的规定,下列()不包括在核心资本中。
20世纪以来,世界各国进行的重要教育改革证实,任何教育改革的背后,都隐含着社会文化的制约机制。在一定范围、一定时期内取得成功的教育改革,一般都十分注意与社会主流文化保持一致。因此,研究教育与文化的相互依存及变化发展方向具有十分重要的意义。请你运用所
《蓝色多瑙河》的作者是理查.施特劳斯。()
酸奶容易消化吸收的原因是()。
在服务过程的测量工作中,针对事件统计分析描述不正确的是()。
【B1】【B15】
最新回复
(
0
)