summaryrefslogtreecommitdiffstats
path: root/labb4/test-rule-of-three
diff options
context:
space:
mode:
Diffstat (limited to 'labb4/test-rule-of-three')
-rw-r--r--labb4/test-rule-of-three/main.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/labb4/test-rule-of-three/main.cpp b/labb4/test-rule-of-three/main.cpp
index ccef31a..6747169 100644
--- a/labb4/test-rule-of-three/main.cpp
+++ b/labb4/test-rule-of-three/main.cpp
@@ -35,14 +35,17 @@ GameState::GameState(const GameState &other) {
GameState &GameState::operator=(const GameState &other) {
std::cout << "=" << std::endl;
- thing = other.thing;
+ delete thing;
+ thing = other.thing->clone();
return *this;
}
GameState::~GameState() {
std::cout << "d gamestate" << std::endl;
- delete thing;
- thing = nullptr;
+ if (thing) {
+ delete thing;
+ thing = nullptr;
+ }
}
void GameState::switchThing() {