From b8da24cd224f9c4d793bb4bb9809b6b517f0ee38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Tue, 10 Nov 2020 13:36:39 +0100 Subject: test: rule of three --- labb4/test-rule-of-three/main.hpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 labb4/test-rule-of-three/main.hpp (limited to 'labb4/test-rule-of-three/main.hpp') 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(); +}; -- cgit v1.2.1