文档介绍:2017年下半年(下午)《软件设计师》真题
注意:图片可根据实际需要调整大小
卷面总分:6分
答题时间:240分钟
试卷题量:6题
练****次数:0次
问答2的内容排列次序。填英文。
唯一的遗憾是从题干中找不出作者(Author)和用户(User)的父类是什么,是人(Person)?只能让人想像了。
【问题2】
问题2的答案,全在题干第2点的陈述中。
此处不作解析。
【问题3】
题干第5查询引用了某篇出版物的所有出版物。在学术出版物中引用他人或早期的文献作为相关工作或背景资料是很常见的现象。用户也可以在系统中为某篇出版物注册引用通知,若有新的出版物引用了该出版物,系统将发送电子邮件通知该用户。这个说明加上类图中有一个类名为Observer。可以断定为观察者模式,实现的功能即是第5点的陈述。
、JPEG和GIF三种格式的文件,且能够在Windows和Linux两种操作系统上运行。程序需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,现采用桥接(Bridge)模式进行设计,得到如图5-1所示的类图。
图5-1
【C++代码】
#include<iostream>
#include<string>
using namespace std;
class Matrix{//各种格式的文件最终都被转化为像素矩阵
//此处代码省略
};
class Implementor{
public:
(1);//显示像素矩阵m
};
class WinImp:public Implementor{
public:
void doPaint(Matrix m){/*调用Windows系统的绘制函数绘制像素矩阵*/}
};
class LinuxImp:public Implementor{
public:
void doPaint(Matrix m){/*调用Linux系统的绘制函数绘制像素矩阵*/}
};
class Image{
public:
void setImp(Implementor*imp){this->imp=imp;}
virtual viod parseFile(string fileName)=0;
protected:
Implementor*imp;
};
class BMPImage:public Image{
//此处省略代码
};
class GIFImage:public Image{
public:
void parseFile(string fileName){
//此处解析GIF文件并获得一个像素矩阵对象m
(2);显示像素矩阵m
}
};
class JPEGImage:public Image{
//此处代码省略
};
int main( ){
//
Image*image=(3);
Implementor*imageImp=(4);
(5);
image->parseFile