Inheritance allows new classes to be created from existing classes. There are several types of inheritance including single, multiple, multilevel, hierarchical, and hybrid. Single inheritance allows a class to inherit from one parent class, while multiple inheritance allows a class to inherit from more than one parent class. Multilevel inheritance involves deriving a class from another derived class. Hierarchical inheritance derives multiple child classes from a single parent class, while hybrid inheritance combines different inheritance types. Inheritance promotes code reuse and enables declaring class characteristics without implementing them.
2. WHAT IS INHERITANCE?
• Inheritance is a feature or a process in which, new classes are created from the
existing classes.
• The new class created is called “derived class” or “child class” and the existing class
is known as the “base class” or “parent class”.
• The derived class now is said to be inherited from the base class.
NEED OF INHERITANCE?
• Inheritance enables code reusability and saves time.
• Inheritance is used to declare characteristics of classes inheriting it , without giving
its implementation.
• It is one of the most important concept of OOPS.
4. SINGLE INHERITANCE
• In single inheritance, a class is allowed to inherit from only one
class. i.e. one subclass is inherited by one base class only.
• It is the simplest among all the types of inheritance since it
does not include any kind of inheritance combination or
different levels of inheritance.
5. CODE - SINGLE INHERITANCE
#include<iostream>
using namespace std;
// base class
class Vehicle {
public:
Vehicle()
{
cout << "This is a Vehiclen";
}
};
// sub class derived from a single base classes
class Car : public Vehicle {
};
// main function
int main()
{
// Creating object of sub class will
// invoke the constructor of base classes
Car obj;
return 0;
}
Output
This is a Vehicle
6. MULTIPLE INHERITANCE
• Multiple Inheritance is a feature of C++ where a class can
inherit from more than one class. i.e one subclass is inherited
from more than one base class.
• It is distinct from single inheritance, where an object or class
may only inherit from one particular object or class.
7. CODE - MULTIPLE INHERITANCE
#include <iostream>
using namespace std;
// first base class
class Vehicle {
public:
Vehicle() { cout << "This is a Vehiclen"; }
};
// second base class
class FourWheeler {
public:
FourWheeler()
{
cout << "This is a 4 wheeler Vehiclen";
}
};
// sub class derived from two base classes
class Car : public Vehicle, public FourWheeler {
};
int main()
{
// Creating object of sub class will
// invoke the constructor of base classes.
Car obj;
return 0;
}
Output
This is a Vehicle
This is a 4 wheeler Vehicle
9. CODE - MULTIPLE INHERITANCE
#include <iostream>
using namespace std;
// base class
class Vehicle {
public:
Vehicle() { cout << "This is a Vehiclen"; }
};
// first sub_class derived from class vehicle
class fourWheeler : public Vehicle {
public:
fourWheeler()
{
cout << "Objects with 4 wheels are vehiclesn";
}
};
// sub class derived from the derived base class fourWheeler
class Car : public fourWheeler {
public:
Car() { cout << "Car has 4 Wheelsn"; }
};
// main function
int main()
{
// Creating object of sub class will
// invoke the constructor of base classes.
Car obj;
return 0;
}
Output
This is a Vehicle
Objects with 4 wheels are vehicles
Car has 4 Wheels
10. HIERARCHICAL INHERITANCE
• In this type of inheritance, more than one subclass is inherited
from a single base class. i.e. more than one derived class is
created from a single base class.
11. CODE – HIERARCHICAL
INHERITANCE
#include <iostream>
using namespace std;
// base class
class Vehicle {
public:
Vehicle() { cout << "This is a Vehiclen"; }
};
// first sub class
class Car : public Vehicle {
};
// second sub class
class Bus : public Vehicle {
};
// main function
int main()
{
// Creating object of sub class will
// invoke the constructor of base class.
Car obj1;
Bus obj2;
return 0;
}
Output
This is a Vehicle
This is a Vehicle
12. HYBRID (VIRTUAL) INHERITANCE
• Hybrid Inheritance is implemented by combining more than
one type of inheritance. For example: Combining Hierarchical
inheritance and Multiple Inheritance.
13. CODE – HYBRID (VIRTUAL)
INHERITANCE
#include <iostream>
using namespace std;
// base class
class Vehicle {
public:
Vehicle() { cout << "This is a Vehiclen"; }
};
// base class
class Fare {
public:
Fare() { cout << "Fare of Vehiclen"; }
};
// first sub class
class Car : public Vehicle {
};
// second sub class
class Bus : public Vehicle, public Fare {
};
// main function
int main()
{
// Creating object of sub class will
// invoke the constructor of base class.
Bus obj1;
return 0;
}
Output
This is a Vehicle
Fare of Vehicle