首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
admin
2020-05-14
81
问题
有如下程序:
#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全国计算机二级
相关试题推荐
下列叙述中正确的是( )。
“图形”类Shape中定义了纯虚函数CalArea(),“三角形”类Triangle继承了类Shape,请将Triangle类中的CalArea函数补充完整。classShape{public:virtualintCalArea()=0;}
()是析构函数的特征。
友元运算符obj1>obj2被C++编译器解释为()。
关于关键字class和typename,下列表述正确的是
若执行以下程序时从键盘上输入9,则辅出结果是 main() {int n; cin>>n; if(n++<10)cout<<n<<endl; else cout<<n--<<endl; }
A、 B、 C、 D、 D虚函数在运行阶段和类的对象绑定在一起,这样成为动态联编。虚函数声明只能出现在类声明中虚函数原型中,而不能在成员的函数体实现的时候。必须由成员函数来调用或者通过指针、引用来访问虚函数。
对于一个类定义,下列叙述中错误的是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为:从键盘输入一个字符串,并将结果保存到文件modi1.txt中。注意:不要改动main函数,不能增行或删行,也不能更改程序的结
随机试题
凯恩斯的货币需求函数非常重视()。
大市场营销是在原有的“4P’’基础上再加两个即()。
A.骨质破坏、坏死B.骨髓内脓疡C.骨膜下脓肿D.反应性新骨形成E.软组织蜂窝织炎急性血源性骨髓炎后期的病理特点是
女,35岁,体重50kg,汽油火焰Ⅱ°烧伤面积73%,第一个24小时补液总量为
腰椎间盘承受压力最大的体位是
乳癌淋巴转移主要途径是
发生门静脉高压症的主要原因是
在教学过程中教师起一个促进者的作用,教师通过与学生建立融洽的个人关系以促进学生的成长,强调教学过程是以解决学生的情感问题为教学目标的教学模式是()。
克伦威尔是一个具有两重性的资产阶级革命家、军事家。阅读下列材料:材料一克伦威尔于1653年发动政变,解散国会,就任英格兰、苏格兰和爱尔兰的“护国主”,建立起独裁统治……把自己比做一个“好警察”。——刘宗绪《世界近代史》材料二共
共同保险
最新回复
(
0
)