Multiple Inheritance in both private and public way : multiple base classes « Class « C++ Tutorial






#include <iostream>
using namespace std;
class One 
{
 public:
  One(void) 
  { 
    cout << "Constructor for One\n"; 
    one = 1;
  };
  int one;
};

class Two 
{
 public:
  Two(void) 
  { 
    cout << "Constructor for Two\n";
    two = 2;
  };
  int two;
};

class Three 
{
 public:
  Three(void) 
  { 
    cout << "Constructor for Three\n"; 
    three = 3;
  };
  int three;
};

class Derived: private One, private Three, public Two 
{
 public:
   Derived(void) : One(), Two(), Three() 
   {
     cout << "Derived constructor called\n"; };

   void show_value(void) { cout << one << two << three << endl; };
};

int main(void)
{
   Derived my_class;
   my_class.show_value();
   cout << my_class.two;
}








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