阅读下列说明和C++代码,将应填入( )处的字句写在答题纸的对应栏内。
【说明】
某图像预览程序要求能够查看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. image->setImp(imageImp)
你可能感兴趣的试题
在几种不同类型的软件维护中,通常情况下()所占工作量最大。
-
- A.更正性维护
- B.适应性维护
- C.完善性维护
- D.预防性维护
- 查看答案
在()中,项目经理的权力是最小的。
-
- A.强矩阵型组织
- B.平衡矩阵组织
- C.弱矩阵型组织
- D.项目型组织
- 查看答案
在项目实施的过程中,项目经理通过项目周报中的项目进度分析图表发现机房施工进度有延期风险。项目经理立即组织相关人员进行分析,下达了关于改进措施的书面指令。该指令属于( )
-
- A.检查措施
- B.缺陷补救措施
- C.预防措施
- D.纠正措施
- 查看答案
-
- A.见图A
- B.见图B
- C.见图C
- D.见图D
- 查看答案
-
- A.见图A
- B.见图B
- C.见图C
- D.见图D
- 查看答案