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.
#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.
#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
Post a Comment