2022年上半年軟件設(shè)計師下午案例分析真題:
試題五:閱讀下列說明和C++代碼。將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
在軟件系統(tǒng)中,通常不會給用戶提供取消、不確定或者錯誤操作的選擇,允許將系統(tǒng)恢復(fù)到原先的狀態(tài)?,F(xiàn)使用備忘錄(Memento)模式實現(xiàn)該要求,得到如圖5-1所示的類圖。Memcnto 包含了要被恢復(fù)的狀態(tài)。Originator創(chuàng)建并在Memento中存儲狀態(tài)。Caretaker負(fù)責(zé)從Memento中恢復(fù)狀態(tài)。
【C++代碼】
#include
#include
#include
using namespace std;
public:
void setState(string state)(this>sate-state;string get
StateO{fretumn state;}Memento saveStateToMemento0){
return (1)
void getStateFromMemento(MementoMemento){
state=(2)_
class CareTaker{
private:
vectormementoList;
pubilc:
viod(3){mementoL ist.push back(state)
(4)_;return mementoList(index);}
intmian( ){
Originator*originator=new Originator();
CareTaker*careTaker=new CareTaker();
originator->setState("State #1");
originator->setState("State #2");
careTaker->add(_(5)_);
originator->setState("State #3");
careTaker->add(( 6 ));
originator->setState("State #4");
cout <<"Current State:"<<"+"
originator->getStateFromMemento(careTaker->get(0);
cout<<"First saved State:"
originator->getStateFromMemento(careTaker->get(1);
cout<<"second save State"<<"+"
【參考答案】暫無
相關(guān)閱讀:2022年上半年軟件設(shè)計師真題答案答案解析(綜合、案例)
溫馨提示:因考試政策、內(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é)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評論 查看完整評論 | |