Inheritance allows one class to inherit properties from another class called the base or super class. The new class is called the derived or sub-class. There are different types of inheritance like hierarchical and multi-level inheritance. The visibility of members of the base class depends on whether the inheritance is public, private or protected.