Memento记忆模式

原创 2015年07月06日 21:28:12
//Memento记忆模式。
#include <iostream>
#include <string.h>
using namespace std;


class Memento;
class Originator
{
public:
    Originator(char *s = "")
    {
        _str = new char[100];
        strcpy(_str,s);
    }
    void SetSate(char *s)
    {
        strcpy(_str,s);
    }
    void Setmem();
    void RestoretoMem();
    void Printf()
    {
        cout << "Originator::"<<_str << endl;
    }
private:
    Memento *mem;
    char *_str;
};

class Memento
{
public:
    Memento(){}
    Memento(const char *s)
    {
        m_t = new char[strlen(s)];
        strcpy(m_t,s);
    }
    char *GetStr()
    {
        return m_t;
    }
private:
    char *m_t;
};

void Originator::RestoretoMem()
{
    _str = mem->GetStr();
}
void Originator::Setmem()
{
    mem = new Memento(_str);
}
int main()
{
    Originator *tor = new Originator("已经到要到夏天了!");
    tor->Printf();
    tor->Setmem();//保存一份。
    tor->SetSate("早就到夏天了!");//转换为新的状态。
    tor->Printf();

    tor->RestoretoMem();//回到原来的状态。
    tor->Printf();

    return 0;
}


深入浅出LSTM神经网络 ------从卷积 递归网络 到长短时间记忆模型

深入浅出LSTM神经网络 发表于2015-06-05 20:57| 10188次阅读| 来源http://blog.terminal.com| 2 条评论| 作者Zachary Chas...
  • zkl99999
  • zkl99999
  • 2015年11月10日 12:59
  • 3489

浅谈Java设计模式(十九)备忘录模式(Memento)

前言: 主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,个人觉得叫备份模式更形象些,通俗的讲下:假设有原始类A,A中有各种属性,A可以决定需要备份的属性,备忘录类B是用来存储A的一些内部...
  • caihongdao123
  • caihongdao123
  • 2016年07月11日 10:58
  • 6720

如何记住OSI七层协议模型,脑洞大开有木有?

学过计算机网络的各位,一定知道OSI七层协议模型。但是如何不缺不漏而且按顺序记住这7层呢?脑动大开的网友想出了这么几条口诀。总有一款适合你!...
  • baimafujinji
  • baimafujinji
  • 2015年11月11日 23:27
  • 14167

Memento备忘录设计模式实例-绘图程序

  • 2013年10月08日 21:37
  • 22KB
  • 下载

C++ Memento模式

  • 2015年02月09日 10:09
  • 50KB
  • 下载

Memento模式

  • 2007年08月18日 22:44
  • 868B
  • 下载

设计模式之备忘录模式(Memento)

  • 2011年07月07日 09:41
  • 9KB
  • 下载

设计模式之备忘录模式(Memento Pattern)

  • 2012年03月02日 21:15
  • 52KB
  • 下载

备忘录模式/Memento

备忘录模式/Memento 意图/适用场景: 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。 备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并存储起来。在将来合适的...
  • fyzhao
  • fyzhao
  • 2013年08月27日 12:00
  • 567

Java 实现备忘录(Memento)模式

/** * 数据对象 * @author stone * */ public class DataState { private String action; public void s...
  • jjwwmlp456
  • jjwwmlp456
  • 2014年10月13日 21:38
  • 1103
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Memento记忆模式
举报原因:
原因补充:

(最多只允许输入30个字)