Types of Inheritance in C++ Notes | Single, Multiple, Multilevel, Hierarchical & Hybrid Inheritance | Basic Computer Engineering | RGPV BTech First Year

Types of Inheritance in C++ Notes | Single, Multiple, Multilevel, Hierarchical & Hybrid Inheritance | Basic Computer Engineering | RGPV BTech First Year


Types of Inheritance in C++

Inheritance Object Oriented Programming (OOP) का एक महत्वपूर्ण Concept है जिसकी सहायता से एक Class दूसरी Class की Properties तथा Member Functions को प्राप्त (Inherit) कर सकती है। अलग-अलग Programming Requirements को पूरा करने के लिए C++ में Inheritance के कई प्रकार (Types) उपलब्ध हैं, जिनके द्वारा विभिन्न प्रकार के Class Relationships बनाए जाते हैं।

C++ मुख्य रूप से Single Inheritance, Multiple Inheritance, Multilevel Inheritance, Hierarchical Inheritance तथा Hybrid Inheritance को Support करता है। प्रत्येक Type का उपयोग अलग-अलग परिस्थितियों में किया जाता है ताकि Code Reusability, Modularity तथा Software Maintainability को बढ़ाया जा सके।

RGPV B.Tech First Year के Basic Computer Engineering Subject में Types of Inheritance अत्यंत महत्वपूर्ण Topic है। University Examination, Practical तथा Viva में प्रत्येक Type का Diagram, Syntax, Program तथा Advantages से संबंधित प्रश्न नियमित रूप से पूछे जाते हैं।

Base Class



Different Types of Inheritance



Derived Classes



Reuse Existing Features

Introduction to Types of Inheritance

हर Software Project की आवश्यकता समान नहीं होती। कभी केवल एक Base Class से नई Class बनानी होती है, तो कभी अनेक Base Classes की Properties एक ही Class में चाहिए होती हैं। इसी कारण C++ में विभिन्न प्रकार के Inheritance उपलब्ध कराए गए हैं।

प्रत्येक Type अलग-अलग प्रकार के Class Relationships को दर्शाता है तथा Object Oriented Design को अधिक Flexible बनाता है। सही Type का चयन करने से Program अधिक Efficient, Reusable तथा Maintainable बनता है।


Why Different Types of Inheritance are Needed?

सभी Applications की आवश्यकताएँ समान नहीं होतीं। कुछ Programs में केवल एक Parent Class पर्याप्त होती है, जबकि कुछ Applications में Multiple Parents अथवा Multi-Level Class Hierarchy की आवश्यकता होती है। इसी कारण विभिन्न Types of Inheritance का उपयोग किया जाता है।

  • Code Reusability बढ़ाने के लिए।
  • Different Class Relationships को दर्शाने के लिए।
  • Complex Software Design को सरल बनाने के लिए।
  • Real World Models को प्रभावी रूप से Implement करने के लिए।
  • Large Projects में Modularity बनाए रखने के लिए।
  • Software Maintenance को आसान बनाने के लिए।
  • Professional Object Oriented Applications विकसित करने के लिए।

Types of Inheritance in C++

C++ में मुख्य रूप से पाँच प्रकार के Inheritance उपलब्ध हैं। प्रत्येक Type का अपना अलग उद्देश्य एवं उपयोग होता है।

Inheritance Type Description
Single Inheritance एक Derived Class केवल एक Base Class से Properties प्राप्त करती है।
Multiple Inheritance एक Derived Class एक से अधिक Base Classes से Properties प्राप्त करती है।
Multilevel Inheritance एक Derived Class आगे किसी अन्य Class की Base Class बन जाती है।
Hierarchical Inheritance एक Base Class से अनेक Derived Classes बनाई जाती हैं।
Hybrid Inheritance दो या दो से अधिक Types of Inheritance का Combination।

Advantages of Different Types of Inheritance

Advantage Description
Code Reusability Existing Classes का पुनः उपयोग किया जा सकता है।
Flexible Design Application की आवश्यकता अनुसार Class Relationships बनाए जा सकते हैं।
Reduced Code Duplication Common Code को बार-बार लिखने की आवश्यकता नहीं होती।
Easy Maintenance Software को Update एवं Maintain करना आसान हो जाता है।
Supports OOP Object Oriented Programming के सिद्धांतों को प्रभावी रूप से लागू करता है।

Single Inheritance

Single Inheritance वह प्रकार है जिसमें एक Derived Class केवल एक Base Class से Properties तथा Member Functions प्राप्त करती है। यह C++ में सबसे सरल एवं सबसे अधिक उपयोग किया जाने वाला Inheritance Type है।

Base Class



Derived Class

Syntax of Single Inheritance

class Base { // Members }; class Derived : public Base { // New Members };

Example of Single Inheritance

#include<iostream> using namespace std; class Student { public: void details() { cout << "Student Details" << endl; } }; class Result : public Student { public: void marks() { cout << "Marks : 90"; } }; int main() { Result r; r.details(); r.marks(); return 0; }

Output

Student Details Marks : 90

इस उदाहरण में Result Class ने Student Class के details() Function को Inherit किया है तथा अपना नया Function marks() भी जोड़ा है।


Multiple Inheritance

Multiple Inheritance वह प्रकार है जिसमें एक Derived Class एक से अधिक Base Classes से Properties एवं Member Functions प्राप्त करती है। जब किसी नई Class को कई Classes की सुविधाएँ एक साथ चाहिए होती हैं, तब इसका उपयोग किया जाता है।

Base Class A


Derived Class


Base Class B

Syntax of Multiple Inheritance

class Derived : public Base1, public Base2 { // Members };

Example of Multiple Inheritance

#include<iostream> using namespace std; class Student { public: void studentInfo() { cout << "Student" << endl; } }; class Sports { public: void sportsInfo() { cout << "Sports" << endl; } }; class Result : public Student, public Sports { public: void result() { cout << "Result"; } }; int main() { Result r; r.studentInfo(); r.sportsInfo(); r.result(); return 0; }

Output

Student Sports Result

ऊपर दिए गए Program में Result Class ने Student तथा Sports दोनों Classes से Properties प्राप्त की हैं। यही Multiple Inheritance का मुख्य उद्देश्य है।


Multilevel Inheritance

Multilevel Inheritance वह प्रकार है जिसमें एक Derived Class, दूसरी Derived Class की Base Class बन जाती है। अर्थात Inheritance कई Levels में होता है और प्रत्येक अगली Class पिछले Level की Properties प्राप्त करती है।

Base Class



Derived Class 1



Derived Class 2

Syntax of Multilevel Inheritance

class A { }; class B : public A { }; class C : public B { };

Example of Multilevel Inheritance

#include<iostream> using namespace std; class Student { public: void details() { cout << "Student Details" << endl; } }; class Result : public Student { public: void marks() { cout << "Marks : 90" << endl; } }; class Grade : public Result { public: void showGrade() { cout << "Grade : A"; } }; int main() { Grade g; g.details(); g.marks(); g.showGrade(); return 0; }

Output

Student Details Marks : 90 Grade : A

इस उदाहरण में Grade Class ने Result के माध्यम से Student Class की Properties भी प्राप्त की हैं। यही Multilevel Inheritance की विशेषता है।


Hierarchical Inheritance

Hierarchical Inheritance वह प्रकार है जिसमें एक ही Base Class से अनेक Derived Classes बनाई जाती हैं। प्रत्येक Derived Class Base Class की Common Properties को Inherit करती है।

Base Class

↙    ↘

Derived 1   Derived 2

    ↓

Derived 3 (Optional)

Syntax of Hierarchical Inheritance

class Base { }; class Child1 : public Base { }; class Child2 : public Base { };

Example of Hierarchical Inheritance

#include<iostream> using namespace std; class Person { public: void show() { cout << "Person Information" << endl; } }; class Student : public Person { }; class Teacher : public Person { }; int main() { Student s; Teacher t; s.show(); t.show(); return 0; }

Output

Person Information Person Information

ऊपर दिए गए उदाहरण में Student तथा Teacher दोनों Classes ने Person Class से समान Properties प्राप्त की हैं। यह Hierarchical Inheritance का सबसे सरल उदाहरण है।


Important Points

  • Single Inheritance में एक Base Class एवं एक Derived Class होती है।
  • Multiple Inheritance में एक Derived Class कई Base Classes से Properties प्राप्त करती है।
  • Multilevel Inheritance में कई Levels पर Inheritance होता है।
  • Hierarchical Inheritance में एक Base Class से अनेक Derived Classes बनती हैं।
  • प्रत्येक Type अलग-अलग Real World Requirements को पूरा करने के लिए उपयोग किया जाता है।
  • सही Inheritance Type चुनने से Program अधिक Modular एवं Reusable बनता है।
  • RGPV परीक्षा में सभी Types के Diagram एवं Programs अत्यंत महत्वपूर्ण हैं।

Hybrid Inheritance

Hybrid Inheritance वह प्रकार है जिसमें दो या दो से अधिक Types of Inheritance को मिलाकर (Combine करके) नई Class Hierarchy बनाई जाती है। यह Complex Software Systems में उपयोग किया जाता है जहाँ अलग-अलग Relationships को एक साथ दर्शाना आवश्यक होता है।

Base Class

↙    ↘

Class A   Class B

   ↘ ↙

Derived Class

Hybrid Inheritance सामान्यतः Multiple, Multilevel तथा Hierarchical Inheritance के Combination से बनता है। बड़े Enterprise Applications में इसका व्यापक उपयोग किया जाता है।


Syntax of Hybrid Inheritance

class A { }; class B : public A { }; class C : public A { }; class D : public B, public C { };

ऊपर दिया गया Structure Hybrid Inheritance का सामान्य उदाहरण है। इसमें Hierarchical तथा Multiple Inheritance दोनों का Combination दिखाई देता है।


Example of Hybrid Inheritance

#include<iostream> using namespace std; class Person { public: void showPerson() { cout << "Person Information" << endl; } }; class Student : public Person { }; class Sports { public: void showSports() { cout << "Sports Activity" << endl; } }; class Result : public Student, public Sports { }; int main() { Result r; r.showPerson(); r.showSports(); return 0; }

Output

Person Information Sports Activity

इस उदाहरण में Result Class ने Student तथा Sports दोनों Classes की सुविधाएँ प्राप्त की हैं। Student स्वयं Person Class से Inherit करती है, इसलिए यह Hybrid Structure बनता है।


Comparison of Different Types of Inheritance

Type Relationship Main Feature
Single One Base → One Derived सरल एवं सबसे अधिक उपयोग किया जाने वाला प्रकार।
Multiple Many Base → One Derived एक Class कई Base Classes से Properties प्राप्त करती है।
Multilevel Level by Level Inheritance कई Levels में होता है।
Hierarchical One Base → Many Derived एक Base Class से अनेक Derived Classes बनती हैं।
Hybrid Combination दो या अधिक Types का Combination।

Advantages of Different Types of Inheritance

  • Code Reusability में वृद्धि होती है।
  • Complex Problems को छोटे Modules में विभाजित किया जा सकता है।
  • Real World Relationships को प्रभावी रूप से Model किया जा सकता है।
  • Software Development का समय कम हो जाता है।
  • Code Maintainability बेहतर होती है।
  • Extensible Class Hierarchy विकसित की जा सकती है।
  • Professional Object Oriented Software Development को सरल बनाता है।

Limitations of Different Types of Inheritance

  • बहुत अधिक Inheritance Program की Complexity बढ़ा सकता है।
  • Multiple एवं Hybrid Inheritance में Ambiguity Problem उत्पन्न हो सकती है।
  • Class Hierarchy गलत Design होने पर Maintenance कठिन हो सकता है।
  • Deep Inheritance Structure Debugging को कठिन बना सकता है।
  • Improper Inheritance से Tight Coupling उत्पन्न हो सकती है।
  • Hybrid Structure Beginners के लिए समझना कठिन हो सकता है।

Summary

Types of Inheritance C++ Object Oriented Programming का महत्वपूर्ण भाग है। विभिन्न Software Requirements को पूरा करने के लिए C++ में पाँच प्रमुख प्रकार के Inheritance उपलब्ध हैं—Single, Multiple, Multilevel, Hierarchical तथा Hybrid Inheritance। प्रत्येक प्रकार अलग-अलग Class Relationships को दर्शाता है तथा Code Reusability, Maintainability एवं Modularity को बढ़ावा देता है। सही Inheritance Type का चयन करने से Program अधिक Efficient तथा Professional बनता है।

Inheritance Type Description
Single Inheritance एक Derived Class केवल एक Base Class से Properties प्राप्त करती है।
Multiple Inheritance एक Derived Class एक से अधिक Base Classes से Properties प्राप्त करती है।
Multilevel Inheritance Inheritance कई Levels में होता है।
Hierarchical Inheritance एक Base Class से अनेक Derived Classes बनाई जाती हैं।
Hybrid Inheritance दो या दो से अधिक Inheritance Types का Combination।
Main Benefit Code Reusability एवं Flexible Object Oriented Design।
Applications ERP, Banking, Hospital, Vehicle, Education एवं Enterprise Applications।

Important Viva Questions

  1. Types of Inheritance क्या हैं?
  2. Single Inheritance क्या है?
  3. Multiple Inheritance क्या है?
  4. Multilevel Inheritance क्या है?
  5. Hierarchical Inheritance क्या है?
  6. Hybrid Inheritance क्या है?
  7. Multiple तथा Hybrid Inheritance में Ambiguity Problem क्या होती है?
  8. कौन-सा Inheritance सबसे अधिक उपयोग किया जाता है?
  9. Multilevel Inheritance का Real Life Example बताइए।
  10. Types of Inheritance का मुख्य उद्देश्य क्या है?

University Examination Important Questions

  1. C++ में उपलब्ध सभी Types of Inheritance को उदाहरण सहित समझाइए।
  2. Single तथा Multiple Inheritance में अंतर लिखिए।
  3. Multilevel तथा Hierarchical Inheritance की तुलना कीजिए।
  4. Hybrid Inheritance क्या है? Diagram सहित समझाइए।
  5. Different Types of Inheritance की आवश्यकता क्यों होती है?
  6. Inheritance Types के Advantages एवं Limitations लिखिए।
  7. Single Inheritance का Program लिखिए।
  8. Multiple Inheritance का Program लिखिए।
  9. Multilevel Inheritance का Program लिखिए।
  10. Real World Applications में विभिन्न Types of Inheritance का उपयोग समझाइए।

Exam Tips

  • पाँचों Types of Inheritance के Diagram अवश्य याद रखें।
  • प्रत्येक Type का Syntax तथा छोटा Program परीक्षा के लिए अत्यंत महत्वपूर्ण है।
  • Single Inheritance सबसे सरल एवं सबसे अधिक उपयोग किया जाने वाला प्रकार है।
  • Multiple Inheritance में Ambiguity Problem से संबंधित प्रश्न अक्सर पूछे जाते हैं।
  • Hierarchical तथा Multilevel Inheritance के Diagram में अंतर स्पष्ट रखें।
  • Comparison Table तैयार करके पाँचों Types का अंतर याद करें।
  • RGPV Practical एवं Viva में सभी Types of Inheritance के Programs नियमित रूप से पूछे जाते हैं।

Conclusion

Types of Inheritance C++ Object Oriented Programming का आधारभूत Concept है जो विभिन्न प्रकार के Class Relationships को दर्शाता है। Single, Multiple, Multilevel, Hierarchical तथा Hybrid Inheritance अलग-अलग परिस्थितियों में उपयोग किए जाते हैं और Code Reusability, Modularity तथा Software Maintainability को बढ़ाते हैं। Banking Systems, Hospital Management Software, School ERP, Vehicle Management, Enterprise Applications तथा Game Development जैसे Real World Projects में इन सभी Types का व्यापक उपयोग किया जाता है। RGPV B.Tech First Year के विद्यार्थियों के लिए यह Topic Theory, Practical एवं Viva तीनों दृष्टिकोण से अत्यंत महत्वपूर्ण है।

Related Articles

Standard Template Library (STL) in C++ Notes | Containers, Iterators & Algorithms | Basic Computer Engineering | RGPV BTech First Year

Standar...

Read More →

Exception Handling in C++ Notes | try, throw, catch & Exception Handling Mechanism | Basic Computer Engineering | RGPV BTech First Year

Excepti...

Read More →

Templates in C++ Notes | Function Templates, Class Templates & Generic Programming | Basic Computer Engineering | RGPV BTech First Year

Templat...

Read More →

Virtual Functions in C++ Notes | Virtual Function, Pure Virtual Function & Dynamic Binding | Basic Computer Engineering | RGPV BTech First Year

Virtual...

Read More →

Function Overriding in C++ Notes | Method Overriding, Runtime Polymorphism & Examples | Basic Computer Engineering | RGPV BTech First Year

Functio...

Read More →