In cases of multiple inheritance: Constructors are called in order of derivation, destructors in reverse order : multiple base classes « Class « C++ Tutorial






#include <iostream>
using namespace std;
   
class base {
public:
  base() { cout << "Constructing base\n"; }
  ~base() { cout << "Destructing base\n"; }
};
   
class derived1 : public base {
public:
  derived1() { cout << "Constructing derived1\n"; }
  ~derived1() { cout << "Destructing derived1\n"; }
};
   
class derived2: public derived1 {
public:
  derived2() { cout << "Constructing derived2\n"; }
  ~derived2() { cout << "Destructing derived2\n"; }
};
   
int main()
{
  derived2 ob;
   
  // construct and destruct ob
   
  return 0;
}








9.19.multiple base classes
9.19.1.An example of multiple base classes.
9.19.2.multiple inheritance with employees and degrees
9.19.3.multiple inheritance with English Distances
9.19.4.Multiple Inheritance to have the features from both parent
9.19.5.Resolving Ambiguity in Case of Multiple Inheritance Involving Common Base Classes
9.19.6.Multiple Inheritance in both private and public way
9.19.7.In cases of multiple inheritance: Constructors are called in order of derivation, destructors in reverse order
9.19.8.Multiple inheritance example