memento (备忘录模式)
来源:互联网 发布:wake瑜伽软件下载 编辑:程序博客网 时间:2024/06/08 06:44
/*备忘录对象行为模式*/
class Memento;
class originator{
public:
originator(int state);
void SetMemento( Memento *mem);
Memento * CreateMemento();
void setstate(int );
void print();
private:
int state;
};
class Memento{
public:
Memento(int s):state(s){}
int getstate();
void setstate(int);
private:
int state;
};
class adminmem{
public:
adminmem(Memento * m):mem(m){}
private:
Memento * mem;
};
#include <iostream>
#include "memento.h"
#include "stdafx.h"
originator::originator(int state)
{
this->state=state;
}
void originator::setstate(int state)
{
this->state=state;
}
void originator::SetMemento( Memento * mem)
{
state=mem->getstate();
}
void originator::print()
{
//printf("%d\n",state);
std::cout<<state;
}
Memento * originator::CreateMemento()
{
return new Memento(state);
}
int Memento::getstate()
{
return state;
}
void Memento::setstate(int state)
{
this->state=state;
}
class RoleStateMemento{
public:
int value;
RoleStateMemento(int v):value(v){}
};
class GameRole :public RoleStateMemento{
public:
GameRole():RoleStateMemento(10){}
RoleStateMemento * CreateRole()
{
return new RoleStateMemento(value);
}
void RecoveryState(RoleStateMemento* pMemento)
{
value=pMemento->value;
}
void ChangeValue()
{
value=1;
//printf("%d\n",value);
std::cout<<value<<std::endl;
}
};
class RoleStateCaretaker{
public:
RoleStateMemento* pMemento;
};
- Memento模式 备忘录模式
- 备忘录模式(Memento Pattern)
- 备忘录模式(Memento Pattern)
- 备忘录(Memento)模式
- 备忘录模式(Memento Pattern)
- 备忘录(Memento)模式
- Memento 备忘录模式
- 15 Memento 备忘录模式
- 备忘录模式(Memento)
- Memento(备忘录模式)
- Memento备忘录模式
- 19.备忘录模式--Memento
- java Memento(备忘录模式)
- 备忘录模式 Memento Pattern
- 备忘录模式(Memento Pattern)
- Memento备忘录模式
- 备忘录模式(Memento)
- 备忘录模式(Memento Pattern)
- java尝试用户协同推荐 无优化版
- 根据输入文本生成随机文本
- Autoreload of modules in IPython
- android broadcast receiver
- Ajax实例
- memento (备忘录模式)
- hdu 2602 Bone Collector(0/1背包)
- Junit学习笔记----(马士兵老师)
- ZOJ2334-Monkey King【二项堆】
- 使用chrome调试ajax加载本地文件的时候出现Failed to load resource: Origin null is not allowed by Access-Control-Allow
- 你的未来属于我
- Qt中QTreeView 与 QModel 建立联系
- 广告,Xbox One 的新机遇
- Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果