首页
登录
从业资格
某图像预览程序要求能够查看BMP、JPEG和GIF三种格式的文件,且能够在Win
某图像预览程序要求能够查看BMP、JPEG和GIF三种格式的文件,且能够在Win
考试题库
2022-08-02
86
问题
某图像预览程序要求能够查看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://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.代
随机试题
IfonlyI______playtheguitaraswellasyou!A、wouldB、couldC、shouldD、might
Dogswerefirstdomesticatedfromwolvesatleast17,000yearsago,butperh
SeveraltheoriesofevolutionhadhistoricallyprecededthatofCharlesDarwin,
广义M2层次的货币供给量是指()A.现金 B.现金+支票存款 C.现金+支
具有"温化痰饮"功用的方剂是A.温胆汤 B.小陷胸汤 C.瓜蒌薤白白酒汤
授权是指领导者授予下属一定的A.权力 B.责任 C.权力和责任 D.任务
1908年清政府颁布了(),标志着城乡形成了两个不同的行政系统,由此也为城
出现下列哪些情况需终止代表资格?A.被行政拘留的 B.未经批准一次不出席本级人
(2018年真题)根据《建设项目环境影响后评价管理办法(试行)》,下列内容中,不
动脉粥瘤的粥样物质的主要成分是A.低密度脂蛋白 B.胆固醇和胆固醇酯 C.极
最新回复
(
0
)