Difference between Multiple Inheritance and
Hierarchical Inheritance
Definition
• Multiple Inheritance: A class can inherit properties and methods from two or more base classes.
• Hierarchical Inheritance: Multiple classes inherit from a single base class.
Aspect Multiple Inheritance Hierarchical Inheritance
Definition One derived class inherits from multiple baseMultiple
[Link] classes inherit from a single base class.
Structure Many → One One → Many
Code Reusability Combines features from multiple classes. Shares base class features with many classes.
May
Ambiguity
lead to diamond problem if the same base class is inherited
No ambiguity,
more thansince
once.
only one base class is common.
Complexity More complex to implement and maintain. Simpler and easier to understand.
Example class C : public A, public B class B : public A; class C : public A
Conclusion
• Multiple Inheritance is useful when a class needs features of multiple classes, but it may cause
ambiguity issues. • Hierarchical Inheritance is useful when multiple classes need to share the same
base functionality.