diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-11-10 13:36:39 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-11-10 13:36:39 +0100 |
| commit | b8da24cd224f9c4d793bb4bb9809b6b517f0ee38 (patch) | |
| tree | e95240bf1d12aea575f0833dde632bb9a6c852a1 /labb4/test-rule-of-three/main.hpp | |
| parent | 9cc46300dba5c1e53a26415507c4d08addfd89eb (diff) | |
| download | tddd86-b8da24cd224f9c4d793bb4bb9809b6b517f0ee38.tar.gz | |
test: rule of three
Diffstat (limited to 'labb4/test-rule-of-three/main.hpp')
| -rw-r--r-- | labb4/test-rule-of-three/main.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/labb4/test-rule-of-three/main.hpp b/labb4/test-rule-of-three/main.hpp new file mode 100644 index 0000000..5cd7ffb --- /dev/null +++ b/labb4/test-rule-of-three/main.hpp @@ -0,0 +1,31 @@ +struct Base { + virtual ~Base() {} + virtual Base *clone() = 0; + + virtual void hello() = 0; +}; + +struct DerivedA : public Base { + ~DerivedA() = default; + Base *clone() override; + + void hello() override; +}; + +struct DerivedB : public Base { + ~DerivedB() = default; + Base *clone() override; + + void hello() override; +}; + +struct GameState { + GameState(); + + GameState(const GameState &other); + GameState &operator=(const GameState &other); + ~GameState(); + + Base *thing; + void switchThing(); +}; |
