diff --git a/CppCoreGuidelines.md b/CppCoreGuidelines.md index 013b8f4..7a2bc7e 100644 --- a/CppCoreGuidelines.md +++ b/CppCoreGuidelines.md @@ -6108,7 +6108,27 @@ Do *not* use inheritance when simply having a data member will do. Usually this ##### Example - ??? Good old Shape example? + class DrawableUIElement { + public: + virtual void render() const = 0; + // ... + }; + + class AbstractButton : public DrawableUIElement { + public: + virtual void onClick() = 0; + // ... + }; + + class PushButton : public AbstractButton { + virtual void render() const override; + virtual void onClick() override; + // ... + }; + + class Checkbox : public AbstractButton { + // ... + }; ##### Example, bad