Multiple, Multilevel, Hybrid and Hierarchical inheritance

Multiple inheritance: 

                        Multiple inheritance is a type of inheritance in c++ in which a class can be inherited from more than one classes. In this case the inherited class has more than one parent class.


Multiple inheritance example:
       

#include <iostream>
using namespace std;
class Animal
{
public:
   Animal(){ cout<<" Animal's constructor "<<endl;}
};
class Mammal
{
public:
   Mammal(){cout<<" Mammal's constructor"<<endl;}
};
class Bat: public Animal,public Mammal
{
public:
  Bat(){ cout<<" Bat's constructor "<<endl;}
};
int main(){
    Bat bat1;
   return 0;
}

Output:
Animal's constructor
Mammal's constructor
Bat's constructor

Multilevel inheritance:

           In multilevel inheritance a class can be derived from another class who is already defined from another class.

Example of multilevel inheritance:

#include <iostream>
using namespace std;
class Animal
{
public:
   Animal(){ cout<<" Animal's constructor "<<endl;}
};
class Mammal: public Animal
{
public:
   Mammal(){cout<<" Mammal's constructor"<<endl;}
};
class Bat: public Mammal
{
public:
  Bat(){ cout<<" Bat's constructor "<<endl;}
};
int main(){
    Bat bat1;
   return 0;
}

Output:
Animal's constructor
Mammal's constructor
Bat's constructor

Hierarchical inheritance:

         When several classes are derived from common base class it is called hierarchical inheritance

Hierarchical inheritance example:


#include <iostream>
using namespace std;
class ClassRoom
{
public:
   ClassRoom(){ cout<<" ClassRoom constructor "<<endl;}
};
class Grade4Class: public ClassRoom
{
public:
   Grade4Class(){cout<<" Grade4Class constructor"<<endl;}
};
class Grade9Class: public ClassRoom
{
public:
  Grade9Class(){ cout<<" Grade9Class constructor "<<endl;}
};
class Grade10Class{
public:
  Grade10Class(){ cout<<" Grade10Class constructor"<<endl;}
};
int main(){
    Grade4Class Student1;
   return 0;
}

Output:
ClassRoom constructor
Grade4Class constructor

Hybrid inheritance:

            Hybrid inheritance, also called multipath inheritance, is the process of deriving a class using more than one level or more than one mode of inheritance.
It can be considered as the mixture of all types of inheritance.


Watch a quick editorial here:

Multiple and Multilevel:

Hybrid and hierarchical:


Comments

Popular posts from this blog

Virtual function in c++

Practice problem classes and objects.