信管网每日一练
软件设计师 - 每日一练 导航

软件设计师案例分析每日一练试题(2024/4/14)

2024年04月15日来源:信管网 作者:cnitpm

软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4

往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html

软件设计师案例分析每日一练试题(2024/4/14)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/4/14

点击查看:更多软件设计师习题与指导

软件设计师案例分析每日一练试题内容(2024/4/14)

阅读下列说明和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"<<"+"

信管网试题答案与解析:www.cnitpm.com/st/5222028861.html

信管网考友试题答案分享:

信管网试题答案与解析:www.cnitpm.com/st/5222028861.html

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

分享至:

信管网 - 信息系统项目管理专业网站

下载APP-在线学习

培训课程

0元畅享

考试题库

免费资料

客服咨询