当前位置: 首页 > news >正文

杭州租房网站建设网站做付款页面

杭州租房网站建设,网站做付款页面,wordpress博客主机选择,wordpress怎么文章共享链接#xff1a;C 设计模式 链接#xff1a;C 设计模式 - 状态模式 备忘录模式#xff08;Memento Pattern#xff09;是一种行为设计模式#xff0c;它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。这个模式在需要保存和恢复对象状态的场景中非常有用#xff…链接C 设计模式 链接C 设计模式 - 状态模式 备忘录模式Memento Pattern是一种行为设计模式它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。这个模式在需要保存和恢复对象状态的场景中非常有用例如实现撤销操作。 1.问题分析 在开发中有时需要保存对象的状态以便在需要时恢复到之前的状态。这种需求在撤销/重做操作、游戏存档、编辑器状态恢复等场景中尤为常见。 备忘录模式通过将对象的状态封装在一个独立的备忘录对象中实现了状态的保存和恢复同时保持了对象的封装性。 2.实现步骤 定义备忘录类存储对象的内部状态定义发起人类负责创建和恢复备忘录。定义管理者类负责保存和管理备忘录对象。客户端代码实现保存状态到备忘录和从备忘录恢复状态。 3.代码示例 3.1.定义备忘录类 // Memento类负责存储机器人的状态 class Memento {public:Memento(int x, int y, const std::string state) : x_(x), y_(y), state_(state) {}int getX() const { return x_; }int getY() const { return y_; }std::string getState() const { return state_; }private:int x_;int y_;std::string state_; };3.2.定义发起人类 // Robot类负责创建和恢复Memento class Robot {public:void setPosition(int x, int y) {x_ x;y_ y;std::cout Position set to: ( x , y ) std::endl;}void setState(const std::string state) {state_ state;std::cout State set to: state std::endl;}Memento saveStateToMemento() { return Memento(x_, y_, state_); }void getStateFromMemento(const Memento memento) {x_ memento.getX();y_ memento.getY();state_ memento.getState();std::cout State restored to: ( x_ , y_ ), state_ std::endl;}private:int x_;int y_;std::string state_; };3.3.定义管理者类 // Caretaker类负责保存和恢复Memento class Caretaker {public:void addMemento(const Memento memento) { mementos_.push_back(memento); }Memento getMemento(int index) const { return mementos_.at(index); }private:std::vectorMemento mementos_; };3.4.客户端代码 int main() {Robot robot;Caretaker caretaker;robot.setPosition(0, 0);robot.setState(Idle);caretaker.addMemento(robot.saveStateToMemento());robot.setPosition(10, 20);robot.setState(Moving);caretaker.addMemento(robot.saveStateToMemento());robot.setPosition(30, 40);robot.setState(Stopped);robot.getStateFromMemento(caretaker.getMemento(0));robot.getStateFromMemento(caretaker.getMemento(1));return 0; }
http://www.w-s-a.com/news/284093/

相关文章:

  • 哪里建网站性价比高做网站赚取广告费
  • 邢台集团网站建设价格微信怎么做捐钱的网站
  • 做网站费用需要分摊吗装修公司一般多少钱一平方
  • 公司主页的网站格式wordpress自动推送给百度
  • 网站建设辶金手指排名十二wordpress 当数据库
  • 无锡手机网站建设服务苏州展厅设计企业
  • 无锡网站制作需要多少钱北京二次感染最新消息
  • 网站开发视频播放无画面杭州房产信息网官网
  • 网站开发 改进如何创建公众号平台
  • wordpress网站响应很慢只有asp网站代码可以重新编译吗
  • 哪个网站教做饭做的好wordpress热点文章
  • 可以做推广东西的网站重庆网站建设 重庆网站制作
  • 珠海网站建设培训学校wordpress去版权 合法
  • 建设食品商购网站学校网站设计实验报告
  • 建个网站多少钱沭阳奥体小区做网站的
  • 广州视频网站建站公司php网页设计作业代码
  • 成都公司网站设计如何制作网址最简单的方法
  • 温州 做网站福建住房城乡建设部网站
  • 网站自动化采集成都网站设计费用
  • 广东专业网站定制建设淘宝网站的人员组织结构
  • 网站改版seo无锡有多少家公司
  • h5美食制作网站模板下载wordpress大学百度云
  • 零陵做网站建立网站的公司平台
  • 某企业电子商务网站建设网站开发实验结论
  • 自己做的网站突然打不开杭州哪些做网站公司好
  • 株洲专业建设网站免费cms内容管理系统
  • 网上建立网站赚钱网站建设方案书纯文字
  • 专业网站设计哪家好it外包合同模板
  • 个人网站备案都需要什么中小企业服务网
  • 佛山网站建设哪个在公司网站投简历该怎么做