// Listing 1: Klassendeklarationen class NonCopyableClass{ NonCopyableClass & operator=(const NonCopyableClass&) = delete; NonCopyableClass(const NonCopyableClass&) = delete; NonCopyableClass() = default; }; class BaseClass{ virtual void foo(); void bar(); }; class DerivedClass [[base_check]]: public BaseClass{ void foo [[override]] (); void foo [[override]](int) void bar [[hiding]] (); void bar [[hiding]](int); }; class DelegateConstructor { int value; public: DelegateConstructor(int v) : value(v) {} DelegateConstructor() : DelegateConstructor(17) { } }; class BaseClass{ public: BaseClass(int i); }; class DerivedClass : public BaseClass{ public: using BaseClass::BaseClass; };