设计模式复习-备忘录模式
生活随笔
收集整理的这篇文章主要介绍了
设计模式复习-备忘录模式
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
#pragma once
#include "stdafx.h"
#include<string>
#include<iostream>
using namespace std;/*设计模式-备忘录模式(Memento)在不破坏对象封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。
这样以后就可以将该对象恢复到原先保存的状态。
*/class Cmemento {//备忘录
public:string mstrState="";
public:Cmemento(const string &strState) {mstrState = strState;}
};class COriginator {//发起人
public:string mstrState="";
public:Cmemento * CreateMemento() {return new Cmemento(mstrState);}void SetMemento(Cmemento * pMemento) {mstrState = pMemento->mstrState;}void Show() {cout << "State=" << mstrState << endl;}
};class CCaretaker {
public:Cmemento *mpMemento=NULL;
};int main() {COriginator *P0 = new COriginator();P0->mstrState = "On";P0->Show();CCaretaker *pC = new CCaretaker();pC->mpMemento = P0->CreateMemento();P0->mstrState = "Off";P0->Show();P0->SetMemento(pC->mpMemento);P0->Show();getchar();return 0;
}
总结
以上是生活随笔为你收集整理的设计模式复习-备忘录模式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 设计模式复习-适配器模式
- 下一篇: 设计模式复习-迭代器模式