专注在线职业教育25年
下载APP
小程序
希赛网小程序
导航

2022上半年软件设计师下午真题(五)

责编:胡媛 2022-05-29

为方便广大考生考后估分对答案,希赛网特向广大学员和网友搜集整理了2022上半年软件设计师下午真题(五),供大家参考。希赛网老师也将在考后进行真题答案解析,敬请广大考生关注。

试题五(共15分)

阅读下列说明和C++代码。将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

在软件系统中,通常不会给用户提供取消、不确定或者错误操作的选择,允许将系统恢复到原先的状态。现使用备忘录(Memento)模式实现该要求,得到如图5-1所示的类图。Memcnto 包含了要被恢复的状态。Originator创建并在Memento中存储状态。Caretaker负责从Memento中恢复状态。

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;}

2026年软考真题答案扫码查看,估分一步到位⬇️⬇️⬇️

企业微信截图_17788103849427.png

               2026年软考各科备考资源精选
资源名称获取方式资源链接
2026年高项综合知识真题及答案免费下载点击获取
2026年5月23日第1批监理综合知识真题免费下载点击获取
2026年5月系统分析师案例技术真题免费下载点击获取
2026上半年软考各科真题答案汇总免费下载点击获取
2026年5月23日系统架构设计师综合知识真题免费下载点击获取
【历年真题】软考各科历年真题答案解析汇总免费刷题点击刷题
更多软考备考资料请点此查看

真题:点击估分!2026年上半年软考最新真题汇总hotgif.gif

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
相关阅读
查看更多

加群交流

公众号

客服咨询

考试资料

每日一练

咨询客服