inheritance in cpp

9/13/2025
All Articles

inheritance in cpp

inheritance in cpp

Inheritance in C++ Tutorial

Introduction

Inheritance is a core feature of Object-Oriented Programming (OOP) in C++. It allows a class (derived class) to inherit properties and behaviors from another class (base class). This promotes code reusability and logical hierarchy.


What is Inheritance?

Inheritance allows you to create a new class based on an existing class. The new class gets access to the data members and member functions of the existing class.

Key Points:

  • Base class (Parent) – The class whose features are inherited

  • Derived class (Child) – The class that inherits features from the base class

  • Access specifiers: public, protected, private


Types of Inheritance in C++

  • Single Inheritance – One base and one derived class

  • Multiple Inheritance – One derived class inherits from multiple base classes

  • Multilevel Inheritance – A class derived from another derived class

  • Hierarchical Inheritance – Multiple derived classes inherit from a single base class

  • Hybrid Inheritance – Combination of two or more types


Example – Single Inheritance (Developer → TeamLead)

#include <iostream>
using namespace std;

// Base class
class Developer {
public:
    string name;
    string skills;

    void work() {
        cout << name << " is coding using " << skills << "." << endl;
    }
};

// Derived class
class TeamLead : public Developer {
public:
    int teamSize;

    void manageTeam() {
        cout << name << " is managing a team of " << teamSize << " developers." << endl;
    }
};

int main() {
    TeamLead lead;
    lead.name = "Alice";
    lead.skills = "C++ and Python";
    lead.teamSize = 5;

    lead.work();
    lead.manageTeam();

    return 0;
}

Output:

Alice is coding using C++ and Python.
Alice is managing a team of 5 developers.

Access Specifiers in Inheritance

  • Public inheritance – Public and protected members remain accessible as they are.

  • Protected inheritance – Public and protected members of base become protected in derived.

  • Private inheritance – Public and protected members of base become private in derived.


Benefits of Inheritance in C++

  • Code reusability – Avoid rewriting code for similar classes

  • Extensibility – Easily extend base class features in new classes

  • Maintainability – Centralized code makes updates easier

  • Real-world modeling – Models hierarchical relationships like Employee → Manager


Conclusion

Inheritance allows you to build new classes on top of existing ones, saving time and effort.

  • Base class provides common functionality

  • Derived class extends or customizes it

This is a key principle of OOP that simplifies large program design.

Article