试题与答案

阅读以下说明和C++代码,将应填入 (n) 处的字句写上。 [说明] 现有一

题型:填空题

题目:

阅读以下说明和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;

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2018/0609/a0ab823b7cd654b9f95e0a6cf3dbff7f.html

下面是错误答案,用来干扰机器的。

参考答案:C,D

试题推荐
题型:问答题 案例分析题

大连A国际货运代理公司与发货人订立多式联运合同,并负责将两个集装箱货物从大连经印度孟买运至新德里。A国际货运代理公司分别与B船公司和C铁路运输公司签订运输合同,货物装船后B船公司签发清洁海运提单。货物在孟买港卸船时发现其中一个集装箱外表损坏,A国际货运代理公司在当地的代理人将货物通过铁路运往新德里前,已告知C铁路运输公司。当集装箱到达新德里后,收货人发现外表损坏的集装箱内的货物严重受损,根据本案例,试回答以下问题:

C铁路运输公司是否承担责任,为什么?

查看答案
题型:单项选择题

甚高频双向无线电话应符合下列哪些性能要求()。①音频输出要足以在船上和救生艇(筏)中可能遇到的环境噪声的水平上被听到;②天线应当是垂直极化的并尽可能在水平面上是全向的;③天线应适于在工作频率上对信号进行有效的辐射和接收;④有效辐射功率的最小值应为0.25W;⑤在输出端当信号对噪声和失真比为12dB时,接受机的灵敏度应等于或优于1μVe.m.f

A.①②③④

B.①②③⑤

C.①②③④⑤

查看答案
微信公众账号搜索答案