Class Inheritance Advanced

In C++ a class can inherit one or more classes.

Inheriting multiple classes

Let's look at the following example:

Output:

Explanation:

  • At line 30 class C inherits two classes - A and B.
  • Because of that class C has 3 properties - a, b, c and 3 functions - getA, getB and getC.

Multilevel Inheritance

A class can inherit a class that inherits other class. A long chain can be formed.

Each child in the chain inherits functions and members from the ones before it (it's parents grandparents etc...).

Here's an example:

Output:

Explanation:

  • There is an inheritance chain: A is inherited by B. B is inherited by C. C is inherited by D.
  • At line 18 class B inherits class A.
  • At line 30 class C inherits class B. Class C inherits the members from B and A. So class C has members - a, b and c.
  • At line 43 class D inherits class C. Class D is at the bottom of the inherit chain. So it inherits members from A, B and C. Class D has members a, b, c and d.