0
0
CppConceptBeginner · 3 min read

Hierarchical Inheritance in C++: Definition and Example

In C++, hierarchical inheritance is a type of inheritance where multiple derived classes inherit from a single base class. This allows different classes to share common features from the base class while adding their own unique behaviors.
⚙️

How It Works

Hierarchical inheritance works like a family tree where one parent has many children. Imagine a base class as a parent who passes down traits to several children classes. Each child class inherits the common traits but can also have its own special features.

In programming, this means one base class provides common properties or functions, and multiple derived classes reuse this code. This avoids repetition and keeps the code organized, just like siblings sharing family traits but having their own personalities.

💻

Example

This example shows a base class Animal and two derived classes Dog and Cat inheriting from it. Both derived classes use the base class's sound() function and add their own unique function.

cpp
#include <iostream>
using namespace std;

class Animal {
public:
    void sound() {
        cout << "Animals make sounds" << endl;
    }
};

class Dog : public Animal {
public:
    void bark() {
        cout << "Dog barks: Woof!" << endl;
    }
};

class Cat : public Animal {
public:
    void meow() {
        cout << "Cat meows: Meow!" << endl;
    }
};

int main() {
    Dog dog;
    Cat cat;

    dog.sound();  // inherited from Animal
    dog.bark();

    cat.sound();  // inherited from Animal
    cat.meow();

    return 0;
}
Output
Animals make sounds Dog barks: Woof! Animals make sounds Cat meows: Meow!
🎯

When to Use

Use hierarchical inheritance when you have several classes that share common features but also need their own specific behaviors. For example, in a software for a zoo, you might have a general Animal class with common traits like eating or sleeping, and specific classes like Bird, Fish, or Mammal that add unique actions.

This approach helps keep your code clean, avoids duplication, and makes it easier to maintain or extend later.

Key Points

  • Hierarchical inheritance means one base class and multiple derived classes.
  • Derived classes inherit common features from the base class.
  • Each derived class can add its own unique functions or properties.
  • It helps reuse code and organize related classes logically.

Key Takeaways

Hierarchical inheritance allows multiple classes to inherit from one base class in C++.
It helps share common code while letting derived classes have unique features.
Use it to organize related classes that share behaviors but differ in details.
This inheritance type improves code reuse and maintainability.