首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
admin
2015-07-22
49
问题
有如下程序:
#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://www.kaotiyun.com/show/48Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于虚基类的描述,错误的是
下列程序的运行结果为#include<iostream.h>voidprint(doublea){cout<<++a;}voidprint(inta,intb){
如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是
已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为
若以非成员函数形式,为类Bounce重载“!”运算符,其操作结果为一bool型数据,则该运算符重载函数的原型是【 】。
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是
关于在调用模板函数时模板实参的使用,下列表述正确的是
下列有关内联函数的叙述中,正确的是
假设fin是一个文件流对象,则关闭文件的语句是【】。
类模板template<classT>classx(…),其中,友元函数f成为从该类模板实例化的每个模板类的友元,则其说明应为()。
随机试题
王某经过考试成为某县财政局新录用的公务员,但因试用期满不合格被取消录用。下列说法中正确的是()。
功能清泻肺热,平喘止咳者为功能清胃凉血者为
下列说法错误的是()
以下关于羊水栓塞的治疗,正确的是
投资目的的()决定了投资收益的多重性。
职业道德除了具有道德的一般特征之外,还具有()特征。
挂失止付是票据丧失后票据权利补救的必经程序,失票人只有对丧失的票据办理挂失止付后,方可向人民法院申请公示催告。()
()的特点是注重以当地特产为材料,精于制汤和以汤调味,烹调法以爆、炒、扒、熘最为突出,味型以咸鲜为主。
以下各项关于微内核(microkernel)操作系统的说法,正确的是()。
QueenMary’sReignI.HistoriceventsA.KingHenryVIIIplannedMary,his【T1】______,【T1】______tomarryhissonEdward.B.
最新回复
(
0
)