From d44db141f671a4fa8a26602f2ae2e4a57157ffad Mon Sep 17 00:00:00 2001 From: Christopher James Hayward Date: Mon, 15 Feb 2021 16:26:17 +0000 Subject: [PATCH] Update notes --- docs/courses/comp-206.org.gpg | Bin 9858 -> 10029 bytes ...heritance-reusing-the-implementation-4.png | Bin 0 -> 3166 bytes ...heritance-reusing-the-implementation-5.png | Bin 0 -> 7159 bytes docs/notes/thinking-in-cpp.org.gpg | Bin 6444 -> 6624 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/comp-206-inheritance-reusing-the-implementation-4.png create mode 100644 docs/images/comp-206-inheritance-reusing-the-implementation-5.png diff --git a/docs/courses/comp-206.org.gpg b/docs/courses/comp-206.org.gpg index 3526cd1236f2d95991af1009868b9f4e2ecb590e..45ffd8e780541bfb80d188b29bcdb86bdf59bb97 100644 GIT binary patch literal 10029 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�p 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 DHl%1O literal 9858 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 VIz#Av+E1U(!qnQN(a7WWe*i+E%YOg> literal 0 HcmV?d00001 diff --git a/docs/images/comp-206-inheritance-reusing-the-implementation-5.png b/docs/images/comp-206-inheritance-reusing-the-implementation-5.png new file mode 100644 index 0000000000000000000000000000000000000000..58d576b95d42a955877a8e43dc382fdef7e60e16 GIT binary patch literal 7159 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 NqO6)s8OS2w{{ZOZ`IZ0x literal 0 HcmV?d00001 diff --git a/docs/notes/thinking-in-cpp.org.gpg b/docs/notes/thinking-in-cpp.org.gpg index ddce8e9eb4a40beaaf1957059c51fc34daf55cf8..ab18d1a252c14b8e21d8bfac7d4b51713744faba 100644 GIT binary patch literal 6624 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 literal 6444 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