軟件設(shè)計(jì)師案例分析當(dāng)天每日一練試題地址:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4
往期軟件設(shè)計(jì)師每日一練試題匯總:m.xiexiliangjiufa.com/class/27/e4_1.html
軟件設(shè)計(jì)師案例分析每日一練試題(2025/3/28)在線測(cè)試:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4&day=2025/3/28
點(diǎn)擊查看:更多軟件設(shè)計(jì)師習(xí)題與指導(dǎo)
軟件設(shè)計(jì)師案例分析每日一練試題內(nèi)容(2025/3/28)
試題五
閱讀以下說明和C++代碼,將應(yīng)填入 (n) 處。
[說明]
在一公文處理系統(tǒng)中,開發(fā)者定義了一個(gè)公文類OfficeDoc,其中定義了公文具有的屬性和處理公文的相應(yīng)方法。當(dāng)公文的內(nèi)容或狀態(tài)發(fā)生變化時(shí),關(guān)注此OfficeDoc類對(duì)象的相應(yīng)的DocExplorer對(duì)象都要更新其自身的狀態(tài)。一個(gè)OfficeDoc對(duì)象能夠關(guān)聯(lián)一組 DocExplorer對(duì)象。當(dāng)OfficeDoc對(duì)象的內(nèi)容或狀態(tài)發(fā)生變化時(shí),所有與之相關(guān)聯(lián)的 DocExplorcr對(duì)象都將得到通知,這種應(yīng)用被稱為觀察者模式。以下代碼寫在一個(gè)C++源文件中,能夠正確編譯通過。
[C++代碼]
#include <iostream>
const OBS_MAXNUM=20;//最多與OfficeDoc對(duì)象相關(guān)聯(lián)的DocExplorer對(duì)象的個(gè)數(shù)
(1) ;
class DocExplorer{ //關(guān)注OfficeDoc公文對(duì)象的類
public:
DocExplorer( (2) *doc); //構(gòu)造函數(shù)
(3) void update(OfficeDoc *doc)=0;//更新自身狀態(tài)的函數(shù)
//其他相關(guān)屬性和方法省略
};
class OfficeDoc{ //公文類
private:
DocExplorer *myObs[OBS_MAXNUM];
//關(guān)注此公文類的DocExplorer類對(duì)象指針數(shù)組
int index; //與OfficeDoc對(duì)象關(guān)聯(lián)的DocExplorer對(duì)象的個(gè)數(shù)
public:
OfficeDoe()
index=0;
}
void attach(DocExplorer *o){
//將一DoeExplorer對(duì)象與OfficeDoe對(duì)象相關(guān)聯(lián)
if(index >=OBS_MAXNUM ||o=NULL)return;
for(int loop=0; loop<index; loop++)
if(myObs[loop]==o) return;
myObs[index]=o;
index++;
}
void detaeh(DocExplorer *o){
//接觸某DoeExplorer對(duì)象與OfficeDoc對(duì)象的關(guān)聯(lián)
if(0==NULL) return;
for(int loop=0; loop<index; loop++){
if(myObs[loop]==o){
if(loop<=index-2)myObs[loop]=myObs[index-1];
myObs[index-1]=NULL;
index--;
break;
}
}
}
private:
void notifyObs(){ //通知所有的DocExplorer對(duì)象更改自身狀態(tài)
for(int loop=0; loop<index; loop++){
myObs[loop]-> (4) ; //DocExplorer對(duì)象更新自身狀態(tài)
}
}
//其他公文類的相關(guān)屬性和方法
};
DocExplorer::DocExplorer(OfficeDoc *doc){//DocExplorer 類對(duì)象的構(gòu)造函數(shù)
doc-> (5) ; //將此DocExplorer對(duì)象與doc對(duì)象相關(guān)聯(lián)
}
信管網(wǎng)考友試題答案分享:
信管網(wǎng)cnit**************:
(1)class officedoc
(2)officedoc
(3)virtual
(4)this
(5)attach (this)
信管網(wǎng)訂閱號(hào)
信管網(wǎng)視頻號(hào)
信管網(wǎng)抖音號(hào)
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,教材和資料參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評(píng)論 查看完整評(píng)論 | |