2022年上半年軟件設計師下午案例分析真題:
試題五:閱讀下列說明和C++代碼。將應填入(n)處的字句寫在答題紙的對應欄內(nèi)。
【說明】
在軟件系統(tǒng)中,通常不會給用戶提供取消、不確定或者錯誤操作的選擇,允許將系統(tǒng)恢復到原先的狀態(tài)。現(xiàn)使用備忘錄(Memento)模式實現(xiàn)該要求,得到如圖5-1所示的類圖。Memcnto 包含了要被恢復的狀態(tài)。Originator創(chuàng)建并在Memento中存儲狀態(tài)。Caretaker負責從Memento中恢復狀態(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"<<"+"
【參考答案】暫無
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權威部門公布的內(nèi)容為準!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質(zhì)量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。
發(fā)表評論 查看完整評論 | |