Home > Article > Backend Development > Constructor Inheritance in C 11: How Does It Work?
Inheriting Constructors in C 11
In C 11, constructor inheritance allows a derived class to implicitly inherit constructors from its base class. This is achieved through the using keyword, which specifies that the derived class should use the constructors of the base class.
Syntax:
struct B { B(int); // Normal constructor 1 B(string); // Normal constructor 2 }; struct D : B { using B::B; // Inherit constructors from B };
Implications:
The derived class D now has the inherited constructors:
Applications:
Constructor inheritance is useful in the following scenarios:
In-Depth Explanation:
The Standard Library defines the inheriting constructors as follows:
D::D(int x) : B(x) {} D::D(string s) : B(s) {}
This means that when an instance of the derived class D is constructed, it will call the appropriate constructor of the base class B to initialize its base members.
The above is the detailed content of Constructor Inheritance in C 11: How Does It Work?. For more information, please follow other related articles on the PHP Chinese website!