首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++代码,将应填入(n)处的字句写上。 [说明] 现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显不display()。 需要新增图形Circle,又已知有类XX
阅读以下说明和C++代码,将应填入(n)处的字句写上。 [说明] 现有一个显示系统,要显示的图形有线Line、矩形Square,抽象出一个Shape类(接口),有方法显不display()。 需要新增图形Circle,又已知有类XX
admin
2010-12-17
33
问题
阅读以下说明和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://kaotiyun.com/show/jvDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
对某商店业务处理系统采用数据流图(DFD)进行功能建模,其中“检查订货单”是其中的一个①。由于在进行订货单检查时,需要根据客户的欠款情况、订单金额等多个条件判断是否采取发出催款单、准备货物、发出发货单等行为,此时适合采用②进行描述。②处
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天)。活动EH最多可以晚开始①天而不影响项目的进度。由于某种原因,现在需要同一个工作人员完成BC和BD,则完成该项目的最少时间为②天
采用折半查找算法有序表{7,15,18,21,27,36,42,48,51,54,60,72}中寻找值为15和38,分别需要进行______次元素之间的比较。
系统交付后,修改偶尔会出现乱码的问题,该行为属于________________维护。
假设某计算机系统中进程的三态模型如下图所示,那么图中的a、b、c、d处应分别填写(13)________________。
软件开发中经常利用配置库实现变更控制,主要是控制软件配置项的状态变化,不受配置管理控制的是()。
假设关系R1和R2如下图所示:若进行R1R2运算,则结果集分别为(1)元关系,共有(2)个元组。(1)
程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的()。
以下关于数据流图的基本要素的叙述中,不正确的是_______。
随机试题
鉴别起病几小时的卒中患者是脑出血还是脑梗死的最肯定的证据是
以人体神经系统、造血系统和消化系统为主要症状的慢性中毒,是由于环境()污染通过食物链而引起的
(1)某群桩基础的平面、剖面和地基土层分布情况如图所示。(2)地质情况:①杂填土:其重度了γ=17.8kN/m3;②淤泥质土:其重度γ=17.8kN/m3,桩的极限侧阻力标准值qsik=20kPa,属高灵敏度软土;③黏土:其重度γ=19.5kN/m3,桩
工程咨询业是智力服务性行业,受客户的委托,为工程项目的()提供的智力服务。
共同基金投资组合中的资金并不配置期货等衍生品市场领域,但当共同基金为其持有的股票、债券、外汇等相关资产避险时,可以套期保值者的身份参与期货交易。()
下列属于纳税人义务的有()。
个人医疗贷款贷款对象,所应该有的条件为()。
弗里德曼提出的态度成分不包括()。[2007年真题]
土质房屋的墙壁都有一个三棱柱体的孔,其纵截面ABC如图所示。雇主用一个纵截面为三角形的木楔塞住这个孔,为了塞住孔洞,他用锤子敲击木楔,木楔移动了4厘米(CD),且其底部EF与空洞表面BG重合,此时孔的高度增加了3厘米(AG)。已知木楔底部EF高8厘米,问:
Theworld’sleadingclimatescientistshavesetoutindetailforthefirsttimehowmuchmorecarbondioxidehumanscanpourin
最新回复
(
0
)