首页
登录
从业资格
某图像预览程序要求能够查看BMP、JPEG和GIF三种格式的文件,且能够在Win
某图像预览程序要求能够查看BMP、JPEG和GIF三种格式的文件,且能够在Win
考试题库
2022-08-02
122
问题
某图像预览程序要求能够查看BMP、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( ){//在Linux操作系统上查看demo.gif图像文件Image*image=(3);Implementor*imageImp=(4);(5);image->parseFile("demo.gif");return 0;}
选项
答案
解析
(1)virtual void doPaint(Matrix m)=0
(2)imp->doPaint(m)
(3)new GIFImage()
(4)new LinuxImp()
(5)image->setImp(imageImp)
第一空是显示像素矩阵m
从类图来看Implementor是WinImp和LinuxImp两子类的父类。那就需要从子类中去找共同的方法,然后把它们抽象出来。
共同的方法为:void doPaint(Matrix m);抽象就成了virtual void doPaint(Matrix m)=0。
第二空是显示像素矩阵m
在Image的类和其子类中,要显示像素矩阵,可以使用调用Implementor类的方法doPaint,而Image类中定义了对象imp。
即调用的方法为:imp->doPaint(m)
第三空是构造出Gif图像的对象new GIFImage()
第四空是要在Linux操作系统上查看,需要一个LinuxImp的对象,new LinuxImp()
第五空是把imageImp对象传递,以便能够查看Gif图像文件,image->setImp(imageImp)
转载请注明原文地址:https://www.tihaiku.com/congyezige/2410684.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
若应用程序在执行时需要通过打印机输出数据,则一般先形成一个打印作业,将其存放在硬
在Windows操作系统中,如果没有默认的浏览jpg格式文件的程序,那么当用户双
在编译过程中,将源程序通过扫描程序(或词法分析程序)进行处理的结果称为()。A
以下与程序设计风格无关的是()A.代码的正确性 B.标识符的命名 C.代码
将计算机中可执行的程序转换为高级语言程序的过程称为()A.反编译 B.交叉编
用高级语言编写的源程序被保存为()A.位图文件 B.文本文件 C.二进制文
更适合于开发互联网络应用的程序设计语言是()。A.SQL B.Java C
计算机程序的三种基本控制结构是顺序、选择和()。A.循环 B.递归 C.函
编写源程序时在其中增加注释,是为了()。A.降低存储空间的需求量 B.提高执
以下与程序设计风格无关的是()。A.代码的正确性 B.标识符的命名 C.代
随机试题
Mathematicalabilityandmusicalabilitymaynotseemonthesurfacetobeco
学习国内外建筑安全管理先进理念与技术,重点是推动和改革企业()模式。A.发
不能用于测试土的不排水强度指标的试验方法是( )。A.固结不排水试验 B.不
按构造要求设计钢结构方管截面支撑拉杆时,需要计算( )。A、弯曲稳定性 B
《证券公司监督管理条例》第九条规定,证券公司股东的非货币财产出资总额不得超过证券
A.喘咳 B.胸痹 C.破伤风 D.鼻渊 E.下半身疼痛防风的主治病证是
甲状腺功能紊乱的首选筛查项目是血清中哪项A.TTB.FTC.TTD.TSHE.T
下列药物中抑制胃酸分泌作用最强的是A:西咪替丁 B:雷尼替丁 C:奥美拉唑
可根据()对用人需求进行分类,如经理、经理助理、一般员工岗位。A.部门 B.
女性,25岁。体检发现蛋白尿,尿蛋白定量0.7g/24h,血压110/70mmH
最新回复
(
0
)