首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显示display()。需要新增图形Circle,又已知有类XXCircle实
阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。 【说明】现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显示display()。需要新增图形Circle,又已知有类XXCircle实
admin
2014-10-11
70
问题
阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸对应栏内。
【说明】现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显示display()。需要新增图形Circle,又已知有类XXCircle实现了所需要实现的功能:显示displaylt()。为了继承自Shape以提供统一接口,又不希望从头开发代码,希望使用XXCircle。这样将XXCircle作为Circle的一个属性,即Circle的对象包含一个XXCircle对象。当一个Circle对象被实例化时,它必须实例化一个相应的XXCircle对象;当Circle对象收到的做任何事的请求都将转发给这个XXCircle对象。通过这种称~Adapter模式,Circle对象就可以通过“让XXCircle做实际工作”来表现自己的行为了。图6-1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。
【图6一1】
【C++代码】
ClasS Shape{
public:
(1) void display()=0;
};
class Line:publ ic Shape(//省略具体实现
};
class Square:public Shape{//省略具体实现
};
ClasS XXCircle(
public:
void displayIt()(
//省略具体实现
}
//省略其余方法和属性
};
Class Circle:publ iC Shape(
private:
XXCircle*pxc;
public:
Circle();
void display();
};
Circle::Circle()(
pxc=(2);
}
VOid Circle::display()
{
pxc一>(3);
}
Class Factory{
public:
(4)getShapeInstance(int type){//生成特定类实例
switch(type)(
case 1:return new Square;
case 2:return new Line;
case 3:returrl flew C1rcle;
default:return NULL;
}
}
};
void main(int argc,char’argv[]){
i f(argc!=2){
tout<<“error parameters!”<
return;
}
int type:atoi(argv[1]);
Factory factory;
Shape。S=factory.(5);
if(S==NULL){
cout<<*Error get the instance!“<
return;
}
s一>display();
delete s;
rettlrn;
}
选项
答案
(1)virtual (2)new XXCircle (3)displayIt() (4)Shape*: (5)getShapeInstance(type)
解析
由“=0”可轻易判知display()函数是一个纯虚函数,因此空(1)应填virtual。由题设,Circle实例化时,须先实例化一个XXCircle对象,而pxciE好也是XXCircle对象指针,故空(2)应填new XXCircle。Circle在此充当适配器的角色,它所做的就是将消息转发给XXCircle实例,display()是“显示”消息,故调用XXCircle的相应方法,故空(3)应填displayIt()。方法getShapeInstance(1int type)的返回值有new Line、new Square以及new circle,参照类的层次结构,可得空(4)应填Shape*。注意是指针。Factory类仅定义了一个方法getShapeInstance,而此处语义正是取得一个形状进行显示,故空(5)应填getShapeInstance(type)。
转载请注明原文地址:https://kaotiyun.com/show/jaDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
若某二叉树的先序遍历序列是ABDCE,中序遍历序列是BDACE,则该二叉树为_______。
常用作网络边界防范的是________。
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
目前,通过移动电话接人互联网采用的主要技术是什么?目前,国内采用的第三代移动通信技术标准有哪些?
阅读以下说明,回答问题1和问题2。说明二层隧道协议L2TP(Layer2TunnelingProtocol)是一种基于点对点协议PPP的二层隧道协议。某网络结构如图5-1所示,采用L2TP来实现网络安全。
限制MailUser邮件主机里每个用户的邮箱大小不超过10MB,如何配置?如何设定邮件自动转发?如果向多个邮件地址进行邮件自动转发,如何设置?
将图2-1中(1)和(2)空缺名称填写在应的位置。ADSL有哪两种IP地址的分配方式?
SSL协议使用(1)密钥体制进行密钥协商。在IIS5.0中,Web服务器管理员必须首先安装Web站点数字证书,然后Web服务器才能支持SSL会话,数字证书的格式遵循ITU-T(2)标准。通常情况下,数字证书需要由(3)颁发。如果Web服务器管理员希望W
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持根据说明中inittab文件的内容,系统引导成功后,工作在______状态。A.单用户字符模式
具有综合业务传输能力的HFC网络由视频前端(FE)、主数字终端(HDT)、光纤节点(FN)、网络接口单元(NIU)、综合业务单元(ISU)及传输线路等构成。根据HFC网接入Internet的典型配置,将图8-11所示的拓扑图中(1)~(5)空缺处名称填写
随机试题
汽油滤清器主要_______汽油中的_______和_______,目前广泛使用的滤清器其滤芯有_______和_______两种,汽油滤清器主要由_______、_______、_______三部分组成。
对心理的实质正确全面的理解是()
下列不属于《执业医师法》中行政责任的是
提示结核性脑膜炎进入晚期的表现是
开展FIDIC工程师培训和认证的原则包括()。
未经国务院银行业监督管理机构的批准,任何单位和个人不得从事吸收公众存款等商业银行业务,这表明在我国对经营存款业务实行的是()。
决定一个国家汇率制度的因素有()。
甲公司是一家能源化工股份有限公司,该公司2013年与资产减值有关的事项如下:(1)20l3年1月1日,将2012年12月31日前计提的在建炼油装置减值准备1000万元转回。调增了年初在建工程和留存收益1000万元。该装置于2013年5月达到预定可使用状态。
某企业的一个成本中心,生产甲产品,预算产量为800件,预算单位成本为50元;实际产量为900件,实际单位成本为46元,则该成本中心的预算成本节约率为()。
[*]
最新回复
(
0
)