首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,将应填入(n)处的字句写上。 [说明] 现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显不display()。 需要新增图形Circle,又已知有类XX
阅读以下说明和C++代码,将应填入(n)处的字句写上。 [说明] 现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显不display()。 需要新增图形Circle,又已知有类XX
admin
2010-12-17
36
问题
阅读以下说明和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;
}
(4)
选项
答案
Shape*
解析
转载请注明原文地址:https://jikaoti.com/ti/W9i7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在单入口单出口的do…while循环结构中,______。
编译和解释是实现高级程序设计语言的两种方式,其区别主要在于______。
假设系统有n(n≥5)个并发进程共享资源R,且资源R的可用数为2。若采用PV操作,则相应的信号量S的取值范围应为______。
某系统中有一个中央数据存储,模块A负责接收新来的数据并修改中央数据存储中的数据,模块B负责访问中央数据存储中的数据,则这两个模块之间的耦合类型为________________。若将这两个模块及中央数据合并成一个模块,则该模块的内聚类型为_________
设数组a[1..10,1..8]中的元素按行存放,每个元素占用4个存储单元,已知第一个数组元素a[1,1]的地址为1004,那么a[5,6]的地址为________________。
软件测试使用各种术语描述软件出现的问题,以下叙述正确的是______。A.软件错误(error)是指在软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件故障的产生B.软件缺陷(defect)是存在于软件(文档、数据、程序)之中的那些不希望或不
以下关于设计功能测试用例的叙述,______是不正确的。A.尽量用80%测试用例覆盖20%的核心业务模块B.功能测试用例中不包括功能的依从性测试用例C.功能测试用例中包括业务流,也包括测试数据D.功能测试用例的设计应注意缺陷群集现象
ISO/IEC9126《软件工程产品质量》统一了多种质量模型。其中,下述关于软件使用质量的描述,不正确的是______。A.它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属性B.使用质量的属性分为4个特性:有效性、生产率、安全性和满意度
关于软件测试,(31)的叙述是正确的。①测试开始越早,越有利于发现软件缺陷②采用正确的测试用例设计方法,软件测试可以做到穷举测试③测试覆盖度和测试用例数量成正比④软件测试的时间越长越好
随机试题
关于W-P小体的结构和功能是()
某一空调工程需冷量为2000kW,选用()制冷机运行能耗最低。
甲是某期货公司的首席风险官,在任职期间,由于一些违法行为被中国证监会认定为不适当人选,根据规定甲自被认定为不适当人选之日起()内,任何期货公司不得任用甲担任董事、监事和高级管理人员。
甲上市公司发生的下列事项中,可以按照公司章程的规定,由董事会决议的是()。
某城乡结合部社区有一些行为偏差青少年,他们有的存在不良行为,有的甚至受到过司法处置。为了帮助他们健康成长,社会工作者小王拟以社会连接理论为依据,为他们提供系列专业服务。小王应该为这些青少年提供的服务是()。
把自己的教学实践作为一个认识对象放在历史过程中进行思考和梳理,同时不断地获取学生的反馈意见,并把它作为另一个认识对象进行分析,最后把两个具体的认识对象进行整合思考。这种反思属于()。
2016年,某省完成邮政通信业务总量6886.15亿元,同比增长56.6%,增幅比上年提高27.4个百分点。其中,完成邮政业务总量1879.99亿元,增长53.0%,增幅提高11.0个百分点;完成通信业务总量5006.16亿元,增长58.0%,增幅提高3
有一批正方形的砖,排成一个大的正方形,余下47块;如果将它改排成每边长比原来多一块砖的正方形,就要差50块。问这批砖原有多少块?
金本位制
I’vealwaysbeenanoptimistandIsupposethatisrootedinmybeliefthatthepowerofcreativityandintelligencecanmaketh
最新回复
(
0
)