2022上半年軟件設(shè)計(jì)師下午真題(五)

軟件設(shè)計(jì)師 責(zé)任編輯:胡媛 2022-05-29

添加老師微信

備考咨詢

加我微信

摘要:為幫助考生估分,希賽小編為大家整理了2022上半年軟件設(shè)計(jì)師下午真題(五),希望對(duì)大家估分會(huì)有幫助。

為方便廣大考生考后估分對(duì)答案,希賽網(wǎng)特向廣大學(xué)員和網(wǎng)友搜集整理了2022上半年軟件設(shè)計(jì)師下午真題(五),供大家參考。希賽網(wǎng)老師也將在考后進(jìn)行真題答案解析,敬請(qǐng)廣大考生關(guān)注。

試題五(共15分)

閱讀下列說明和C++代碼。將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。

【說明】

在軟件系統(tǒng)中,通常不會(huì)給用戶提供取消、不確定或者錯(cuò)誤操作的選擇,允許將系統(tǒng)恢復(fù)到原先的狀態(tài)?,F(xiàn)使用備忘錄(Memento)模式實(shí)現(xiàn)該要求,得到如圖5-1所示的類圖。Memcnto 包含了要被恢復(fù)的狀態(tài)。Originator創(chuàng)建并在Memento中存儲(chǔ)狀態(tài)。Caretaker負(fù)責(zé)從Memento中恢復(fù)狀態(tài)。

image.png

【C++代碼】

#include <iostream>

#include <string>

#include <vector>

using namespace std;

image.png

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:

vector<Memento>mementoList;

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->getState( )<<endl;

originator->getStateFromMemento(careTaker->get(0);

cout<<"First saved State:"<<originator->getStatee( )<<endl;

originator->getStateFromMemento(careTaker->get(1);

cout<<"second save State"<<"+" <<originator>getState( )<<endl;return 0;}

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

軟考備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

!
咨詢?cè)诰€老師!