C++Memento模式应用法则

C++编程语言中的应用方式比较灵活,我们可以通过各种模式来实现特定的功能。比如今天为大家介绍的C++ Memento模式,就是一个非常有用的应用模式,希望大家可以从中获得一些帮助。

创新互联是专业的鸡西网站建设公司,鸡西接单;提供做网站、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行鸡西网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

C++ Memento模式代码示例:

 
 
 
  1. #include< iostream>
  2. #include< string>
  3. using namespace std;
  4. typedef string states;
  5. class Memento;
  6. class Orininator
  7. {
  8. public:
  9. Orininator(){m_st="";m_mt=0;};
  10. Orininator(const states& st){m_st=st;m_mt=0;};
  11. ~Orininator(){};
  12. Memento* CreateMemento();
  13. void SetMemento(Memento* men){};
  14. void RestoretoMen(Memento* mt);
  15. states GetState(){return m_st;};
  16. void SetState(const states& sdt){m_st=sdt;}
  17. void PrintState(){cout< this->m_st< < ".."< < endl;}
  18. private:
  19. states m_st;
  20. Memento* m_mt;
  21. };
 
 
 
  1. class Memento
  2. {
  3. private:
  4. friend class Orininator;//友元
  5. Memento(){};
  6. Memento(const states& st){m_st=st;};
  7. ~Memento(){};
  8. void SetState(const states& std){m_st=std;};
  9. states GetState(){return m_st;};
  10. private:
  11. states m_st;
  12. };
 
 
 
  1. Memento* Orininator::CreateMemento()
  2. {
  3. return new Memento(m_st);//合理的应用构造函数;
  4. }
  5. void Orininator::RestoretoMen(Memento* mt)
  6. {
  7. this->m_st=mt->GetState();
  8. }
 
 
 
  1. void main()
  2. {
  3. Orininator* Ori=new Orininator();
  4. Ori->SetState("old");
  5. Ori->PrintState();
  6. Memento* m=Ori->CreateMemento();
  7. Ori->SetState("new");
  8. Ori->PrintState();
  9. Ori->RestoretoMen(m);
  10. Ori->PrintState();
  11. }

以上就是对C++ Memento模式的相关介绍。

文章名称:C++Memento模式应用法则
本文网址:http://www.csdahua.cn/qtweb/news43/407393.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网