首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
admin
2021-05-06
29
问题
有如下程序:
#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/eTfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:c1assAA{inta;public:intgetRef()const{retum&a;}//①intgetValue()const{retuma;}
有函数模板声明和一些变量定义如下:templateT1sum(T2,T3);doubledl,d2;则下列调用中,错误的是()。
设二叉树的后序序列为DGHEBIJFCA,中序序列为DBGEHACIFJ。则前序序列为
有如下程序:#include#includeusingnamespacestd;intmain(){cout
在下面的4个关键字中用来说明虚函数的是()。
层次型、网状型和关系型数据库划分原则是( )。
下列for循环的次数为()。for(inti(0),x=0;!x&&i
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
数据流程图(DFD图)是()。
随机试题
简述国际服务目标市场国选择的影响因素。
在Word2010编辑状态下,绘制一个图形,首先应该选择【】
You’dbetterletmeknowassoonasthereisa(n)_________positioninthebranchoffice.
炙甘草汤证的脉症见
直肠肛管疾病最常见的并发症是()
下列哪些物品可按展览品申报进境:关于展览品和展览用品的进境许可证件管理,下列表述正确的是:
一天你在街上看到一位衣衫整洁的老人显得很慌张.并且精神有些恍惚,你上前询问,却发现他不记得任何亲人的联系方式。作为一名公安干警.你会怎么做?
A.takingmedicinesB.coldvirusesC.theheatofyourbodyD.varioussymptomsA.takemedicinestorelieve【T13】________ofcol
在32位编译器上,设有定义char*str1="Hello",str2[]="Hello";,则以下语句printf("%d%d",sizeof(str1),sizeof(str2));的输出结果是()。
A、Congratulations!B、Itisadeal.C、Ihopeso.D、Idon’thaveajob.A本题考查对别人表示祝贺的表达。当别人说了一个好消息时,自己应该表示祝贺。A)“祝贺你”,是恰当的回答。
最新回复
(
0
)