Die neuen C++-Standards – C++11 bis C++20
2.4.6 Inheriting constructors Normalerweise erbt eine Klasse die Konstruktoren von ihrem Vorgänger nicht. Mit using können die Konstruktoren des Vorgängers zu den eigenen hinzugefügt werden. Beispiel: struct Base { Base() = default; // explicit to avoid implicit conversion from ptr-types explicit Base(int z){}; }; struct InheritingCtor : public Base { using Base::Base; // Inherit all ctors from Base InheritingCtor(int x, int y){}; // Additional Ctor }; InheritingCtor d1(5, 10); // Uses additional ctor InheritingCtor d2(42); // Uses inherited ctor
22
Copyright © 2020, bbv Software Services AG