设计模式复习-备忘录模式
生活随笔
收集整理的這篇文章主要介紹了
设计模式复习-备忘录模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#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;
}
?
總結
以上是生活随笔為你收集整理的设计模式复习-备忘录模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式复习-适配器模式
- 下一篇: 设计模式复习-迭代器模式