首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,将应填入(n)处的字句写上。 [说明] 现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显不display()。 需要新增图形Circle,又已知有类XX
阅读以下说明和C++代码,将应填入(n)处的字句写上。 [说明] 现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显不display()。 需要新增图形Circle,又已知有类XX
admin
2010-12-17
62
问题
阅读以下说明和C++代码,将应填入(n)处的字句写上。
[说明]
现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显不display()。
需要新增图形Circle,又已知有类XXCircle实现了所需要实现的功能:显示displayIt()。为了继承自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:public Shape{//省略具体实现
};
class Square:public Shape{//省略具体实现
};
class XXCircle{
public:
void displayIt(){
//省略具体实现
}
//省略其余方法和属性
};
class Circle:public 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 :return new Circle;
default:return NULL;
}
}
};
void main(int argc,char*argv[]){
if(argc !=2){
cout<<"error parameters!"<<endl;
return;
}
int type=atoi(argv[1]);
Factory factory;
Shape*s=factory. (5);
if(s==NULL){
cout<<"Error get the instance!"<<endl;
return;
}
s->display();
delete s;
return;
}
(3)
选项
答案
displayIt()
解析
转载请注明原文地址:https://kaotiyun.com/show/VvDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
为说明某一问题,在学术论文中需要引用某些资料。以下叙述中,()是不正确的。
在结构化分析方法中,用于行为建模的模型是①,其要素包括②。①处应填入?
对于下面的有向图,其邻接矩阵是一个①的矩阵。采用邻接链表存储时,顶点0的表结点个数为2,顶点3的表结点个数为0,顶点1的表结点个数为②个。②处应填入?
在单入口单出口的do…while循环结构中,______。
假设系统有n(n≥5)个并发进程共享资源R,且资源R的可用数为2。若采用PV操作,则相应的信号量S的取值范围应为______。
某系统中有一个中央数据存储,模块A负责接收新来的数据并修改中央数据存储中的数据,模块B负责访问中央数据存储中的数据,则这两个模块之间的耦合类型为________________。若将这两个模块及中央数据合并成一个模块,则该模块的内聚类型为_________
调用函数时若是引用调用方式,则是将________________。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,该表达式中x获得的值为________________。
某算术表达式用二叉树表示如下,该算术表达式的中缀式为________________,其后缀式为________________。
Bug记录信息包括________________。①被测软件名称②被测软件版本③测试人④错误等级⑤开发人⑥详细步骤
以下关于数据流图的叙述中,不正确的是(37)________________。
随机试题
A.错语B.独语C.郑声D.狂言E.谵语神志不清、语无伦次、声高有力,该病况称为
下列哪项不属于机械性损伤()
下图为不透水层上的排水廊道,已知:垂直于纸面方向长100m,廊道水深h=2m,含水层中水深H=4m,土壤的渗透系数k=0.001cm/s,廊道的影响半径R=200m,则廊道的排水流量Q为()。
根据《反价格垄断规定》的规定,经营者对交易相对人实行强制交易的正当理由中不包括()。
某居民企业(非金融企业)2015年12月31日归还境内关联企业一年期借款本金1000万元,另支付利息费用80万元,关联企业对该居民企业的权益性投资额为400万元,该居民企业的实际税负高于境内关联企业,同期同类银行贷款年利率为6%。该居民企业2015年在计算
房地产的供求状况可以分为()。
“不找任何借口”是世界500强企业关于优秀员工的12条核心标准之一。其意思包括()
《北京人在纽约》中有一句经典的台词“如果你爱他,就把他送到纽约,那里是天堂:如果你不爱他,那就把他送到纽约,那里是地狱。”这句话体现()。
有关外国市场进入模式的问题人们提到外国市场进入,会提到以下类型的基本模式:出口、许可、特许经营、通过直接投资建立合资企业或全资企业、管理合同和国际工程承包等,这些并不可以完全相互替代。请回答以下相关问题。[对外经济贸易大学2011国际商务硕士]出
将代数式转换成程序设计中的表达式为【】。
最新回复
(
0
)