File tree 1 file changed +7
-4
lines changed
1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -47,6 +47,7 @@ class Originator {
47
47
public:
48
48
// implemented only for printing purpose
49
49
void setState (int s) {
50
+ std::cout << " Set state to " << s << " ." << std::endl;
50
51
state = s;
51
52
}
52
53
@@ -85,11 +86,13 @@ class CareTaker {
85
86
}
86
87
87
88
void save () {
89
+ std::cout << " Save state." << std::endl;;
88
90
history.push_back (originator->createMemento ());
89
91
}
90
92
91
93
void undo () {
92
- originator->setMemento (history.front ());
94
+ std::cout << " Undo state." << std::endl;;
95
+ originator->setMemento (history.back ());
93
96
history.pop_back ();
94
97
}
95
98
// ...
@@ -108,14 +111,14 @@ int main()
108
111
109
112
originator->setState (1 );
110
113
caretaker->save ();
111
- std::cout << " Set state: " << originator->getState () << std::endl;
112
114
113
115
originator->setState (2 );
114
116
caretaker->save ();
115
- std::cout << " Set state: " << originator->getState () << std::endl;
116
117
118
+ originator->setState (3 );
117
119
caretaker->undo ();
118
- std::cout << " Undo state: " << originator->getState () << std::endl;
120
+
121
+ std::cout << " Actual state is " << originator->getState () << " ." << std::endl;
119
122
120
123
delete originator;
121
124
delete caretaker;
You can’t perform that action at this time.
0 commit comments