"using" the private member variable makes it public, but the constructor remains private. Example:
class MyClass; class Base { private: Base(float v) : m_v{v} {} float m_v; friend MyClass; }; class MyClass: public Base { public: using Super = Base; using Super::Super;
Is there any other way besides writing a universal ctor like this?
template<typename... Args> MyClass(Args&&... args) : Super(std::forward<Args>(args)...) {}
source share