閱讀下列說明和c++代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
某圖像預(yù)覽程序要求能夠查看bmp,jpeg和gif三種格式的文件,且能夠在windows和linux兩種操作系統(tǒng)上運行。程序需具有較好的擴展性以支持新的文件格式和操作系統(tǒng)。為滿足上述需求并減少所需生成的子類數(shù)目,現(xiàn)采用橋接 (bridge)模式進行設(shè)計,得到如圖5.1所示的類圖。
【c++代碼】
#include
#include
using namespace std;
class matrix{//各種格式的文件最終都被轉(zhuǎn)化為像素矩陣
//此處代碼省略
};
class implement{
public:
(1) ;//顯示像素矩陣m
};
class winimp:public implementor{
public:
void dopaint(matrix m){/*調(diào)用windows系統(tǒng)的繪制函數(shù)繪制像素矩陣*/}
};
class linuximp: public implementor{
public:
void dopaint(matrix m){/*調(diào)用linux系統(tǒng)的繪制函數(shù)繪制像素矩陣*/}
};
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操作系統(tǒng)上查看demo.gif圖像文件
imag imag= (3) ;
implementor imageimp= (4) ;
(5) ;
image.parsefile(“demo.gif”);
}
}
信管網(wǎng)參考答案:
(1)virtual void dopaint(matrix m)=0;
(2)imp->dopaint(m)
(3)new gifimage()
(4)new linuximp()
(5)imp->setimp(imageimp)
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學(xué)員考試保駕護航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評論 查看完整評論 | |