阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某图像预览程序要求能够查看bmp,jpeg和gif三种格式的文件,且能够在windows和linux两种操作系统上运行。程序需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,现采用桥接 (bridge)模式进行设计,得到如图5.1所示的类图。
【c++代码】
#include
#include
using namespace std;
class matrix{//各种格式的文件最终都被转化为像素矩阵
//此处代码省略
};
class implement{
public:
(1) ;//显示像素矩阵m
};
class winimp:public implementor{
public:
void dopaint(matrix m){/*调用windows系统的绘制函数绘制像素矩阵*/}
};
class linuximp: public implementor{
public:
void dopaint(matrix m){/*调用linux系统的绘制函数绘制像素矩阵*/}
};
class imag{
public:
void setimp(implementor *imp){this.imp=imp;}
virtual void parsefile(string filename)=0;
protected:
implenentor *imp;
};
class bmpimage:public image{
//此处代码省略
};
class gifimage:public image{
public:
void parsefile(string filename){
//此处解析gif文件并获取一个像素矩阵对象m
(2) ;//显示像素矩阵m
}
};
class jpegimage:public image{
//此处代码省略
};
int main(){
public static void main(string[] args){
//在linux操作系统上查看demo.gif图像文件
imag imag= (3) ;
implementor imageimp= (4) ;
(5) ;
image.parsefile(“demo.gif”);
}
}
信管网参考答案:
(1)virtual void dopaint(matrix m)=0;
(2)imp->dopaint(m)
(3)new gifimage()
(4)new linuximp()
(5)imp->setimp(imageimp)
温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!
信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。
信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。
发表评论 查看完整评论 | |