Skip to content

Commit a41c5c7

Browse files
authored
Merge pull request #9 from mynickmynick/main
bug fix: delete mementos
2 parents afddbcd + c0f31cb commit a41c5c7

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/Memento/Conceptual/main.cc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
*/
2828
class Memento {
2929
public:
30+
virtual ~Memento() {}
3031
virtual std::string GetName() const = 0;
3132
virtual std::string date() const = 0;
3233
virtual std::string state() const = 0;
@@ -167,9 +168,12 @@ class Caretaker {
167168
Originator *originator_;
168169

169170
public:
170-
Caretaker(Originator *originator) : originator_(originator) {
171-
this->originator_ = originator;
172-
}
171+
Caretaker(Originator* originator) : originator_(originator) {
172+
}
173+
174+
~Caretaker() {
175+
for (auto m : mementos_) delete m;
176+
}
173177

174178
void Backup() {
175179
std::cout << "\nCaretaker: Saving Originator's state...\n";

0 commit comments

Comments
 (0)