2021年11月05日来源:信管网 作者:cnitpm
阅读下列说明和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)
查看解析:www.cnitpm.com/st/3956916756.html
温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关推荐
2021/11/05
2021/11/05
2021/11/05
2021/11/05
2021/11/05