专业软件设计师网站|培训机构|服务商(加客服微信:cnitpm或QQ:947530340进软件设计师学霸群)

软题库 培训课程
当前位置:信管网 >> 软件设计师 >> >> 文章内容
在软件系统中,通常不会给用户提供取消、不确定或者错误操作的选择,允许将系统恢复到原先的状态。现使用备忘录(Memento)模式实现该要求
来源:信管网 2022年05月30日 【所有评论 分享到微信

2022年上半年软件设计师下午案例分析真题:

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

【说明】

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

【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"<<"+"

【参考答案】暂无

相关阅读:2022年上半年软件设计师真题答案答案解析(综合、案例)

历年软件设计师真题在线答题及PDF下载

扫码关注公众号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

推荐文章