constructor-inh/inheriting-constructors-cpp11-problems.cc - Attempting to inherit constructors - problems. | Lecture 5 - slide 4 : 40 Program 6 |
// Attempting to inherit constructors - does not compile. C++11. // Problems in this version. The next version of the program shows a convenient solution. #include <string> using namespace std; class Base{ private: int i; string s; public: Base(): i{0}, s{string("Hi")}{ } Base(int i): i{i}, s{string("Hi")}{ } Base(int i, string s): i{i}, s{s}{ } }; class Derived: public Base{ // No state in Derived public: Derived() = default; // Means: We are happy with the default constructor }; int main(){ Derived d1, // OK d2(5), // Error: no matching function for call to 'Derived::Derived(int)' d3(6, string("AP")); // Error: no matching function for call to 'Derived::Derived(int, std::string)' }