//memento memory mode. #include <iostream>#include <string.h>using namespace STD;classMemento;classoriginator{ Public: Originator (Char*s ="") {_str =New Char[ -];strcpy(_str,s); }voidSetsate (Char*s) {strcpy(_str,s); }voidSetmem ();voidRestoretomem ();voidPrintf () {cout<<"Originator::"<<_str << Endl; }Private: Memento *mem;Char*_str;};classmemento{ Public: Memento () {} Memento (Const Char*s) {m_t =New Char[strlen(s)];strcpy(m_t,s); }Char*getstr () {returnm_t; }Private:Char*m_t;};voidOriginator::restoretomem () {_str = Mem->getstr ();}voidOriginator::setmem () {mem =NewMemento (_STR);}intMain () {Originator *tor =NewOriginator ("It's going to summer!" "); Tor->printf (); Tor->setmem ();//Save one copy. Tor->setsate ("It's early summer!" ");//Convert to a new state. Tor->printf (); Tor->restoretomem ();//Return to the original state. Tor->printf ();return 0;}
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Memento Memory Mode