试题与答案

阅读以下说明和C++代码,将应填入 (n) 处的字句写在对应栏内。[说明]某绘图系统

题型:填空题

题目:

阅读以下说明和C++代码,将应填入 (n) 处的字句写在对应栏内。

[说明]

某绘图系统存在Point、Line、Square三种图元,它们具有Shape接口,图元的类图关系如图18-1所示。现要将Circle图元加入此绘图系统以实现功能扩充。已知某第三方库已经提供了XCircle类,且完全满足系统新增的Circle图元所需的功能,但XCircle不是由Shape派生而来的,它提供的接口不能被系统直接使用。代码18.1既使用了XCircle又遵循了Shape规定的接口,既避免了从头开发一个新的Circle类,又可以不修改绘图系统中已经定义的接口。代码18.2根据用户指定的参数生成特定的图元实例,并对之进行显示操作。

绘图系统定义的接口与XCircle提供的显示接口及其功能如表18-1所示。

[代码18.1]

class Circle:public (1)

private:

(2) m_circle;

public:

void display()

m_circle. (3)

[代码18.2]

class Factory

public:

(4) getShape Instance(int type) //生成特定类实例

switch(type)

case 0:return new point;

case 1:return new Rectangle;

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!"<<end1;

return;

int type=atoi(argv[1]);

Factory factory;

Shape *s;

S=factory. (5)

if(s=NULL)

cout<<"Error get the instance!"<<end1;

return;

C->display();

(6)

return;

(4)处填()。

答案:

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

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

参考答案:由已知

试题推荐
微信公众账号搜索答案