Inheritance in C++ Notes | Basic Computer Engineering | RGPV BTech First Year
Inheritance in C++ Notes | Basic Computer Engineering | RGPV BTech First Year
Inheritance in C++
Inheritance Object Oriented Programming (OOP) рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг Feature рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдирдИ Class, рдХрд┐рд╕реА рдкрд╣рд▓реЗ рд╕реЗ рдмрдиреА рд╣реБрдИ Class рдХреЗ Data Members рддрдерд╛ Member Functions рдХреЛ рдкреНрд░рд╛рдкреНрдд (Inherit) рдХрд░ рд╕рдХрддреА рд╣реИред рдЬрд┐рд╕ Class рд╕реЗ Properties рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИрдВ рдЙрд╕реЗ Base Class рдпрд╛ Parent Class рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рддрдерд╛ рдЬреЛ Class рдЙрди Properties рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ рдЙрд╕реЗ Derived Class рдпрд╛ Child Class рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Inheritance Code Reusability рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, Program рдХреЛ рдЕрдзрд┐рдХ Organized рдмрдирд╛рддрд╛ рд╣реИ рддрдерд╛ Software Development рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдмрдбрд╝реЗ Software Projects рдореЗрдВ Inheritance рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Derived Class тЖТ New Class that Reuses Existing Features
Introduction to Inheritance
Object Oriented Programming рдореЗрдВ рдХрдИ рдмрд╛рд░ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдЖрддреА рд╣реИ рдЬрд╣рд╛рдБ рдЕрдиреЗрдХ Classes рдореЗрдВ рд╕рдорд╛рди Properties рддрдерд╛ Functions рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ Class рдореЗрдВ рд╡рд╣реА Code рджреЛрдмрд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рдП рддреЛ Program рдмрдбрд╝рд╛ рддрдерд╛ рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди Inheritance рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Inheritance рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдПрдХ Existing Class рдХреА рд╕рднреА рдЖрд╡рд╢реНрдпрдХ Properties рджреВрд╕рд░реА Class рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕рд╕реЗ Code Duplication рдХрдо рд╣реЛрддрд╛ рд╣реИ рддрдерд╛ Maintenance рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
Definition of Inheritance
Inheritance рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдирдИ Class, рдХрд┐рд╕реА Existing Class рдХреЗ Data Members рддрдерд╛ Member Functions рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдЙрдирдХрд╛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА рдирдИ Class рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд Members рднреА рдЬреЛрдбрд╝ рд╕рдХрддреА рд╣реИред
Need of Inheritance
- Code Reusability рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
- Duplicate Code рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
- Software Maintenance рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
- Large Applications Develop рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
- Program рдХреЛ Modular рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
- Existing Code рдХрд╛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
- Development Time рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
- Object Oriented Design рдХреЛ рдордЬрдмреВрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
Features of Inheritance
- Supports Code Reusability.
- Provides Hierarchical Class Structure.
- Reduces Program Complexity.
- Improves Maintainability.
- Supports Extensibility.
- Provides Better Organization.
- Works with Polymorphism.
- Supports Software Reusability.
Advantages of Inheritance
| Advantage | Description |
|---|---|
| Code Reusability | рдПрдХ рд╣реА Code рдХреЛ рдХрдИ Classes рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред |
| Less Development Time | рдирдИ Class рдЬрд▓реНрджреА рддреИрдпрд╛рд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред |
| Easy Maintenance | Code рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред |
| Improved Readability | Program рдЕрдзрд┐рдХ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред |
| Scalability | рдмрдбрд╝реЗ Software Projects рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред |
Syntax of Inheritance
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ Derived Class, Base Class рд╕реЗ Public Mode рджреНрд╡рд╛рд░рд╛ Inherit рдХреА рдЧрдИ рд╣реИред рдЗрд╕рд▓рд┐рдП Derived Class, Base Class рдХреЗ Public Members рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИред
Base Class and Derived Class
Inheritance рдореЗрдВ рджреЛ рдореБрдЦреНрдп Classes рд╣реЛрддреА рд╣реИрдВред рдкрд╣рд▓реА Base Class рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ Common Properties рддрдерд╛ Functions рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рджреВрд╕рд░реА Derived Class рд╣реЛрддреА рд╣реИ рдЬреЛ Base Class рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдХреЗ рдЙрдирдореЗрдВ рдирдИ Functionalities рдЬреЛрдбрд╝рддреА рд╣реИред
| Class Type | Description |
|---|---|
| Base Class | Parent Class рдЬреЛ Members рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддреА рд╣реИред |
| Derived Class | Child Class рдЬреЛ Base Class рдХреА Properties рдПрд╡рдВ Functions рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред |
Types of Inheritance
C++ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ Inheritance рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ Class Relationship рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
| Type | Description |
|---|---|
| Single Inheritance | рдПрдХ Derived Class рдХреЗрд╡рд▓ рдПрдХ Base Class рд╕реЗ Properties рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИред |
| Multiple Inheritance | рдПрдХ Derived Class рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ Base Classes рд╕реЗ Inherit рдХрд░рддреА рд╣реИред |
| Multilevel Inheritance | рдПрдХ Derived Class рд╕реНрд╡рдпрдВ рдХрд┐рд╕реА рдЕрдиреНрдп Class рдХреА Base Class рдмрди рдЬрд╛рддреА рд╣реИред |
| Hierarchical Inheritance | рдПрдХ Base Class рд╕реЗ рдЕрдиреЗрдХ Derived Classes рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВред |
| Hybrid Inheritance | рджреЛ рдпрд╛ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреА Inheritance рдХрд╛ Combination рд╣реЛрддрд╛ рд╣реИред |
Single Inheritance
рдЬрдм рдПрдХ Derived Class рдХреЗрд╡рд▓ рдПрдХ Base Class рд╕реЗ Data Members рдПрд╡рдВ Member Functions рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рддрдм рдЙрд╕реЗ Single Inheritance рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрд╡рдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ Inheritance Type рд╣реИред
Multiple Inheritance
рдЬрдм рдПрдХ Derived Class, рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ Base Classes рд╕реЗ Properties рдПрд╡рдВ Functions рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рддрдм рдЙрд╕реЗ Multiple Inheritance рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Multilevel Inheritance
рдЬрдм рдПрдХ Derived Class рд╕реНрд╡рдпрдВ рджреВрд╕рд░реА Class рдХреА Base Class рдмрди рдЬрд╛рддреА рд╣реИ, рддрдм рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА Inheritance рдХреЛ Multilevel Inheritance рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Hierarchical Inheritance
рдЬрдм рдПрдХ рд╣реА Base Class рд╕реЗ рдЕрдиреЗрдХ Derived Classes рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рддрдм рдЙрд╕реЗ Hierarchical Inheritance рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Hybrid Inheritance
рдЬрдм Program рдореЗрдВ рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреА Inheritance рдХреЛ рдорд┐рд▓рд╛рдХрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рдЙрд╕реЗ Hybrid Inheritance рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ Complex Software Development рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреА рд╣реИред
Modes of Inheritance
C++ рдореЗрдВ Base Class рдХреЗ Members рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ Derived Class рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗ, рдпрд╣ Inheritance Mode рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
| Mode | Description |
|---|---|
| Public | Public Members Public рд╣реА рд░рд╣рддреЗ рд╣реИрдВ рддрдерд╛ Protected Members Protected рд░рд╣рддреЗ рд╣реИрдВред |
| Protected | Public рдПрд╡рдВ Protected рджреЛрдиреЛрдВ Members Protected рдмрди рдЬрд╛рддреЗ рд╣реИрдВред |
| Private | Public рдПрд╡рдВ Protected рджреЛрдиреЛрдВ Members Private рдмрди рдЬрд╛рддреЗ рд╣реИрдВред |
Real Life Examples of Inheritance
| Base Class | Derived Class |
|---|---|
| Vehicle | Car, Bike, Bus |
| Person | Student, Teacher, Employee |
| Animal | Dog, Cat, Cow |
| Account | Saving Account, Current Account |
Constructor and Destructor in Inheritance
Inheritance рдореЗрдВ рдЬрдм рдХрд┐рд╕реА Derived Class рдХрд╛ Object Create рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ Base Class Constructor Execute рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж Derived Class Constructor Execute рд╣реЛрддрд╛ рд╣реИред рдЗрд╕реА рдкреНрд░рдХрд╛рд░ Object Destroy рд╣реЛрдиреЗ рдкрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ Derived Class рдХрд╛ Destructor Execute рд╣реЛрддрд╛ рд╣реИ рддрдерд╛ рдЕрдВрдд рдореЗрдВ Base Class рдХрд╛ Destructor Execute рд╣реЛрддрд╛ рд╣реИред
| Object Creation | Object Destruction |
|---|---|
| Base Constructor тЖТ Derived Constructor | Derived Destructor тЖТ Base Destructor |
Method Overriding
рдпрджрд┐ Derived Class, Base Class рдХреЗ рдХрд┐рд╕реА Member Function рдХреЛ рдЕрдкрдиреЗ рдЕрдиреБрд╕рд╛рд░ рдкреБрдирдГ Define рдХрд░рддреА рд╣реИ, рддреЛ рдЗрд╕реЗ Method Overriding рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ Derived Class рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ (Behavior) рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреА рд╣реИред
Complete C++ Program using Inheritance
Applications of Inheritance
- Student Management System.
- Banking Applications.
- Hospital Management Software.
- School ERP System.
- Employee Management System.
- E-Commerce Applications.
- Game Development.
- GUI Applications.
- Operating Systems.
- Enterprise Software.
Advantages of Inheritance
- Promotes Code Reusability.
- Reduces Code Duplication.
- Easy Software Maintenance.
- Supports Extensible Design.
- Improves Code Organization.
- Reduces Development Time.
- Supports Polymorphism.
- Provides Better Scalability.
Limitations of Inheritance
- Complex Class Hierarchies may reduce readability.
- Improper Design increases dependency.
- Private Members cannot be accessed directly.
- Multiple Inheritance may create ambiguity.
- Large Hierarchies become difficult to maintain.
Industrial Importance
Inheritance рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рдЧрднрдЧ рд╕рднреА рдЖрдзреБрдирд┐рдХ Object Oriented Programming Languages рдЬреИрд╕реЗ C++, Java, C# рддрдерд╛ Python рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Enterprise Applications, Banking Systems, ERP Software, Hospital Management Systems, Android Applications рддрдерд╛ Game Development рдореЗрдВ Code Reusability рдПрд╡рдВ Maintainability рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред
Viva Questions
- What is Inheritance?
- Define Base Class and Derived Class.
- What are the advantages of Inheritance?
- Explain Single Inheritance.
- Explain Multiple Inheritance.
- What is Multilevel Inheritance?
- What is Hierarchical Inheritance?
- Explain Hybrid Inheritance.
- Differentiate Public, Protected and Private Inheritance.
- What is Method Overriding?
Exam Oriented Important Questions
- Define Inheritance with suitable example.
- Explain different types of Inheritance.
- Differentiate Base Class and Derived Class.
- Explain Public, Protected and Private Inheritance Modes.
- Write a C++ Program demonstrating Single Inheritance.
- Explain Constructor and Destructor in Inheritance.
- Explain Method Overriding with example.
- Write short notes on Hybrid Inheritance.
- Discuss the advantages and limitations of Inheritance.
- Explain real-life applications of Inheritance.
Conclusion
Inheritance Object Oriented Programming рдХрд╛ рдПрдХ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг Concept рд╣реИ рдЬреЛ Existing Classes рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ (Reuse) рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ Code Reusability, Maintainability рддрдерд╛ Scalability рдмрдврд╝рддреА рд╣реИред Single, Multiple, Multilevel, Hierarchical рддрдерд╛ Hybrid Inheritance рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА Class Relationships рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП Inheritance рдХрд╛ рдЕрдзреНрдпрдпрди рдкреНрд░рддреНрдпреЗрдХ C++ Programmer рддрдерд╛ RGPV B.Tech рд╡рд┐рджреНрдпрд╛рд░реНрдереА рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдВрдд рдЖрд╡рд╢реНрдпрдХ рд╣реИред
Related Articles
Manipulators in C++ Notes | endl, setw, setprecision, setfill | Basic Computer Engineering | RGPV BTech First Year
0...
Read More тЖТType Conversion in C++ Notes | Basic Computer Engineering | RGPV BTech First Year
Type Co...
Read More тЖТAssignment Operator in C++ Notes | Basic Computer Engineering | RGPV BTech First Year
Assignm...
Read More тЖТCopy Constructor in C++ Notes | Basic Computer Engineering | RGPV BTech First Year
Copy Co...
Read More тЖТthis Pointer in C++ Notes | Basic Computer Engineering | RGPV BTech First Year
this Po...
Read More тЖТ