C++ Inheritance basics

In this chapter we will be learning about C++ Inheritance basics. Tutorial explains you different types of inheritance in C++ programming language.

Basics of inheritance

Inheritance is one of the basic features of object oriented programming. In the process of inheritance, one object can acquire the properties of another class.

Type of classDefinition
Base ClassA class that is inherited is called a base class. In below diagram, the class 'vehicle' is a base class.
Derived ClassThe class that does the inheriting is called a derived class. In below diagram, the class 'car' is a derived class.
C++ Inheritance Basics

Explanation

  1. In the above picture, it is clearly mentioned that we are having two classes i.e base and derived class.
  2. Base class contains general information about the specific entity
  3. Derived class contains more specific information related to the one of the type which is inherited from the base class.
  4. In above example vehicle class will contain general information about all vehicles but derived class car contains all the information of the class vehicle along with car specific information.

Types of Inheritance

According to the way of inheriting the properties of base class, there are certain forms of inheritance.

Types of inheritance

Inheritance Type #1 : Single Inheritance

In this type of inheritance, one Derived class is formed by acquiring the properties of one Base class.

Cplusplus Simple Inheritance

Class NameTypeExplanation
ABase classIt is base class in the above program
BDerived classClass derives the properties of class A

Inheritance Type #2 : Multiple Inheritance

In this type of inheritance, one Derived class is formed by acquiring the properties of multiple Base classes

Cplusplus Multiple Inheritance

Class NameTypeExplanation
ABase classIt is base class in the above program
BBase classIt is base class in the above program
CDerived classClass derives the properties of class A and B

Inheritance Type #3 : Hierarchical Inheritance

In this type of inheritance, multiple subclass are formed by acquiring the properties of one Base class.

Cplusplus Hierarchical Inheritance

Class NameTypeExplanation
ABase classIt is base class in the above program
BDerived classClass derives the properties of class A
CDerived classClass derives the properties of class A
DDerived classClass derives the properties of class A

Inheritance Type #4 : Multilevel Inheritance

In this type of inheritance, derived class is formed by acquiring the properties of one base class.

Again same derived class is used as a base class and another class is derived from this.

Cplusplus Multilevel Inheritance

Class NameTypeExplanation
ABase classIt is base class in the above program
BBase class for C and derived class for A-
CDerived classIt contains all the properties of class A and B so we can consider this as derived class of A also

Inheritance Type #5 : Hybrid Inheritance

In this type of Inheritance, the Derived class is formed by any legal combination of above four forms.

hybrid inheritance