C++ Memento模式應(yīng)用法則
作者:佚名
我們今天將會(huì)在這篇文章中為大家詳細(xì)介紹一下C++ Memento模式的應(yīng)用方法,希望能夠通過(guò)代碼的解讀充分掌握這一應(yīng)用技巧。
C++編程語(yǔ)言中的應(yīng)用方式比較靈活,我們可以通過(guò)各種模式來(lái)實(shí)現(xiàn)特定的功能。比如今天為大家介紹的C++ Memento模式,就是一個(gè)非常有用的應(yīng)用模式,希望大家可以從中獲得一些幫助。
C++ Memento模式代碼示例:
- #include< iostream>
- #include< string>
- using namespace std;
- typedef string states;
- class Memento;
- class Orininator
- {
- public:
- Orininator(){m_st="";m_mt=0;};
- Orininator(const states& st){m_st=st;m_mt=0;};
- ~Orininator(){};
- Memento* CreateMemento();
- void SetMemento(Memento* men){};
- void RestoretoMen(Memento* mt);
- states GetState(){return m_st;};
- void SetState(const states& sdt){m_st=sdt;}
- void PrintState(){cout< this->m_st< < ".."< < endl;}
- private:
- states m_st;
- Memento* m_mt;
- };
- class Memento
- {
- private:
- friend class Orininator;//友元
- Memento(){};
- Memento(const states& st){m_st=st;};
- ~Memento(){};
- void SetState(const states& std){m_st=std;};
- states GetState(){return m_st;};
- private:
- states m_st;
- };
- Memento* Orininator::CreateMemento()
- {
- return new Memento(m_st);//合理的應(yīng)用構(gòu)造函數(shù);
- }
- void Orininator::RestoretoMen(Memento* mt)
- {
- this->m_st=mt->GetState();
- }
- void main()
- {
- Orininator* Ori=new Orininator();
- Ori->SetState("old");
- Ori->PrintState();
- Memento* m=Ori->CreateMemento();
- Ori->SetState("new");
- Ori->PrintState();
- Ori->RestoretoMen(m);
- Ori->PrintState();
- }
以上就是對(duì)C++ Memento模式的相關(guān)介紹。
【編輯推薦】
責(zé)任編輯:曹凱
來(lái)源:
博客園