SlideShare a Scribd company logo
1 of 15
Download to read offline
NAME : PROGRAMMING IN C++
STAFF : M.JANCY PRIYA MCA., M.PHIL.,
CLASS : I BCA
SEMESTER: II
UNIT : III
TOPIC : INHERITANCE
PROGRAMMING
IN C++
UNIT 3
INHERITANCE
• THE CAPACITY OF A CLASS TO ASSUME PROPERTIES AND CHARACTERISTICS
FROM ANOTHER CLASS IS CALLED INHERITANCE. INHERITANCE IS ONE OF
THE MOST IMPORTANT ELEMENT OF OBJECT ORIENTED PROGRAMMING.
SUB CLASS: THE CLASS THAT INHERITS ESTATES FROM ANOTHER CLASS IS
CALLED SUB CLASS OR DERIVED CLASS.
SUPER CLASS: THE CLASS WHOSE ESTATES ARE INHERITED BY SUB CLASS IS
CALLED BASE CLASS OR SUPER CLASS.
MODES OF INHERITANCE
MODES OF INHERITANCE
• PUBLIC MODE: IF WE ASSUME A SUB CLASS FROM A PUBLIC BASE CLASS.
THEN THE PUBLIC MEMBER OF THE BASE CLASS WILL BECOME PUBLIC IN
THE DERIVED CLASS AND COVERED MEMBERS OF THE BASE CLASS WILL
BECOME COVERED IN DERIVED CLASS.
• PROTECTED MODE: IF WE ASSUME A SUB CLASS FROM A COVERED BASE
CLASS. THEN BOTH PUBLIC MEMBER AND COVERED MEMBERS OF THE BASE
CLASS WILL BECOME COVERED IN DERIVED CLASS.
• PRIVATE MODE: IF WE ASSUME A SUB CLASS FROM A PRIVATE BASE CLASS.
THEN BOTH PUBLIC MEMBER AND COVERED MEMBERS OF THE BASE CLASS
WILL BECOME PRIVATE IN DERIVED CLASS.
TYPES OF INHERITANCE
• SINGLE INHERITANCE: IN SINGLE INHERITANCE, A CLASS IS GRANT TO
INHERIT FROM ONLY ONE CLASS. I.E. ONE SUB CLASS IS ROOTED BY ONE
BASE CLASS ONLY.
SYNTAX: CLASS SUBCLASS_NAME : ACCESS_MODE BASE_CLASS { //BODY OF
SUBCLASS };
• MULTIPLE INHERITANCE: MULTIPLE INHERITANCE IS A CHARACTER OF C++
WHERE A CLASS CAN INHERIT FROM MORE THAN ONE CLASSES. I.E
ONE SUB CLASS IS ROOTED FROM MORE THAN ONE BASE CLASSES.
SYNTAX: CLASS SUBCLASS_NAME : ACCESS_MODE BASE_CLASS1,
ACCESS_MODE BASE_CLASS2, .... { //BODY OF SUBCLASS };
• MULTILEVEL INHERITANCE: IN THIS TYPE OF INHERITANCE, A DERIVED
CLASS IS CONSTRUCT FROM ANOTHER DERIVED CLASS.
• HIERARCHICAL INHERITANCE: IN THIS TYPE OF INHERITANCE, MORE THAN
ONE SUB CLASS IS ROOTED FROM A SINGLE BASE CLASS. I.E. MORE THAN ONE
DERIVED CLASS IS CONSTRUCT FROM A SINGLE BASE CLASS.
• HYBRID (VIRTUAL) INHERITANCE: HYBRID INHERITANCE IS
ACHEIVED BY CONNECTING MORE THAN ONE TYPE OF
INHERITANCE. FOR EXAMPLE: CONNECTING HIERARCHICAL
INHERITANCE AND MULTIPLE INHERITANCE.
EXAMPLE OF INHERITANCE:
#INCLUDE <IOSTREAM.H>
USING NAMESPACE STD;
//BASE CLASS
CLASS PARENT
{
PUBLIC:
INT ID_P;
};
// SUB CLASS INHERITING FROM BASE CLASS(PARENT)
CLASS CHILD : PUBLIC PARENT
{
PUBLIC:
INT ID_C;
};
//MAIN FUNCTION
INT MAIN()
{
CHILD OBJ1;
// AN OBJECT OF CLASS CHILD HAS ALL DATA MEMBERS
// AND MEMBER FUNCTIONS OF CLASS PARENT
OBJ1.ID_C = 7;
OBJ1.ID_P = 91;
COUT << "CHILD ID IS " << OBJ1.ID_C << ENDL;
COUT << "PARENT ID IS " << OBJ1.ID_P << ENDL;
RETURN 0;
}
POINTER
POINTER:
 A POINTER IS A VARIABLE THAT DOMINANCE A MEMORY ADDRESS WHERE A VALUE ACTIVITY.
 A POINTER IS ANNOUNCED USING THE * OPERATOR BEFORE AN ACCESSORY.
 AS C++ IS A STATICALLY TYPED LANGUAGE, THE TYPE IS REQUIRED TO ASSERTS A POINTER.
EXAMPLE OF POINTER:
#INCLUDE <IOSTREAM>
USING NAMESPACE STD;
INT MAIN ()
{ I
INT VAR = 20; // ACTUAL VARIABLE DECLARATION.
INT *IP; // POINTER VARIABLE
IP = &VAR; // STORE ADDRESS OF VAR IN POINTER VARIABLE
COUT << "VALUE OF VAR VARIABLE: ";
COUT << VAR << ENDL;
// PRINT THE ADDRESS STORED IN IP POINTER VARIABLE COUT << "ADDRESS STORED IN IP
VARIABLE: ";
COUT << IP << ENDL;
// ACCESS THE VALUE AT THE ADDRESS AVAILABLE IN POINTER
COUT << "VALUE OF *IP VARIABLE: ";
COUT << *IP << ENDL;
RETURN 0;
}
OUTPUT:
VALUE OF VAR VARIABLE: 20
ADDRESS STORED IN IP VARIABLE: 0XBFC601AC
VALUE OF *IP VARIABLE: 20
VIRTUAL FUNCTIONS
VIRTUAL FUNCTION:
A VIRTUAL FUNCTION A MEMBER FUNCTION WHICH IS STATED WITHIN BASE CLASS AND IS RE-DEFINED BY
DERIVED CLASS. WHEN YOU ASSIGN TO A DERIVED CLASS OBJECT USING A POINTER OR A HINT TO THE BASE
CLASS, YOU CAN CALLA VIRTUAL FUNCTION FOR THAT OBJECT AND HANG THE DERIVED CLASS'S VERSION OF
THE FUNCTION.
EXAMPLE OF VIRTUAL FUNCTION:
#INCLUDE<IOSTREAM>
USING NAMESPACE STD;
CLASS BASE
{
PUBLIC:
VIRTUAL VOID PRINT ()
{ COUT<< "PRINT BASE CLASS" <<ENDL; }
VOID SHOW ()
{ COUT<< "SHOW BASE CLASS" <<ENDL; }
};
CLASS DERIVED:PUBLIC BASE
{
PUBLIC:
VOID PRINT ()
{ COUT<< "PRINT DERIVED CLASS" <<ENDL; }
VOID SHOW ()
{ COUT<< "SHOW DERIVED CLASS" <<ENDL; }
};
INT MAIN()
{
BASE *BPTR;
DERIVED D;
BPTR = &D;
//VIRTUAL FUNCTION, BINDED AT RUNTIME
BPTR->PRINT();
// NON-VIRTUAL FUNCTION, BINDED AT COMPILE TIME
BPTR->SHOW();
}
OUTPUT:
PRINT DERIVED CLASS
SHOW BASE CLASS
POLYMORPHISM
• POLYMORPHISM MEASURE THAT A CALL TO A MEMBER FUNCTION WILL CAUSE A
DIFFERENT FUNCTION TO BE ASSASSINATE DEPENDING ON THE TYPE OF OBJECT
THAT CONJURE THE FUNCTION. POLYMORPHISM OCCURS WHEN THERE IS A
HIERARCHY OF CLASSES AND THEY ARE LINKED BY INHERITANCE.

More Related Content

Similar to Inheritance

Super keyword.23
Super keyword.23Super keyword.23
Super keyword.23
myrajendra
 

Similar to Inheritance (20)

Super keyword.23
Super keyword.23Super keyword.23
Super keyword.23
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
 
inheriTANCE IN OBJECT ORIENTED PROGRAM.pptx
inheriTANCE IN OBJECT ORIENTED PROGRAM.pptxinheriTANCE IN OBJECT ORIENTED PROGRAM.pptx
inheriTANCE IN OBJECT ORIENTED PROGRAM.pptx
 
Seminar on java
Seminar on javaSeminar on java
Seminar on java
 
OOP.ppt
OOP.pptOOP.ppt
OOP.ppt
 
session 24_Inheritance.ppt
session 24_Inheritance.pptsession 24_Inheritance.ppt
session 24_Inheritance.ppt
 
C++Presentation 2.PPT
C++Presentation 2.PPTC++Presentation 2.PPT
C++Presentation 2.PPT
 
Inheritance in C++
Inheritance in C++Inheritance in C++
Inheritance in C++
 
Inheritance
Inheritance Inheritance
Inheritance
 
Inheritance
InheritanceInheritance
Inheritance
 
EASY TO LEARN INHERITANCE IN C++
EASY TO LEARN INHERITANCE IN C++EASY TO LEARN INHERITANCE IN C++
EASY TO LEARN INHERITANCE IN C++
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
 
inheritance
   inheritance   inheritance
inheritance
 
6.INHERITANCE.ppt(MB).ppt .
6.INHERITANCE.ppt(MB).ppt                    .6.INHERITANCE.ppt(MB).ppt                    .
6.INHERITANCE.ppt(MB).ppt .
 
C++ presentation
C++ presentationC++ presentation
C++ presentation
 
Inheritance
Inheritance Inheritance
Inheritance
 
Inheritance
InheritanceInheritance
Inheritance
 
lecture 6.pdf
lecture 6.pdflecture 6.pdf
lecture 6.pdf
 
Inheritance.pptx
Inheritance.pptxInheritance.pptx
Inheritance.pptx
 
Inheritance
InheritanceInheritance
Inheritance
 

Recently uploaded

SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
CaitlinCummins3
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 

Recently uploaded (20)

SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 
UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024UChicago CMSC 23320 - The Best Commit Messages of 2024
UChicago CMSC 23320 - The Best Commit Messages of 2024
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
VAMOS CUIDAR DO NOSSO PLANETA! .
VAMOS CUIDAR DO NOSSO PLANETA!                    .VAMOS CUIDAR DO NOSSO PLANETA!                    .
VAMOS CUIDAR DO NOSSO PLANETA! .
 
PSYPACT- Practicing Over State Lines May 2024.pptx
PSYPACT- Practicing Over State Lines May 2024.pptxPSYPACT- Practicing Over State Lines May 2024.pptx
PSYPACT- Practicing Over State Lines May 2024.pptx
 
How to Manage Website in Odoo 17 Studio App.pptx
How to Manage Website in Odoo 17 Studio App.pptxHow to Manage Website in Odoo 17 Studio App.pptx
How to Manage Website in Odoo 17 Studio App.pptx
 
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of TransportBasic Civil Engineering notes on Transportation Engineering & Modes of Transport
Basic Civil Engineering notes on Transportation Engineering & Modes of Transport
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
ANTI PARKISON DRUGS.pptx
ANTI         PARKISON          DRUGS.pptxANTI         PARKISON          DRUGS.pptx
ANTI PARKISON DRUGS.pptx
 
Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...Andreas Schleicher presents at the launch of What does child empowerment mean...
Andreas Schleicher presents at the launch of What does child empowerment mean...
 
e-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopale-Sealing at EADTU by Kamakshi Rajagopal
e-Sealing at EADTU by Kamakshi Rajagopal
 
Observing-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptxObserving-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptx
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
 
8 Tips for Effective Working Capital Management
8 Tips for Effective Working Capital Management8 Tips for Effective Working Capital Management
8 Tips for Effective Working Capital Management
 
Major project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategiesMajor project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategies
 
Book Review of Run For Your Life Powerpoint
Book Review of Run For Your Life PowerpointBook Review of Run For Your Life Powerpoint
Book Review of Run For Your Life Powerpoint
 
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
 
male presentation...pdf.................
male presentation...pdf.................male presentation...pdf.................
male presentation...pdf.................
 
Supporting Newcomer Multilingual Learners
Supporting Newcomer  Multilingual LearnersSupporting Newcomer  Multilingual Learners
Supporting Newcomer Multilingual Learners
 
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdfFICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
FICTIONAL SALESMAN/SALESMAN SNSW 2024.pdf
 

Inheritance

  • 1. NAME : PROGRAMMING IN C++ STAFF : M.JANCY PRIYA MCA., M.PHIL., CLASS : I BCA SEMESTER: II UNIT : III TOPIC : INHERITANCE
  • 3. INHERITANCE • THE CAPACITY OF A CLASS TO ASSUME PROPERTIES AND CHARACTERISTICS FROM ANOTHER CLASS IS CALLED INHERITANCE. INHERITANCE IS ONE OF THE MOST IMPORTANT ELEMENT OF OBJECT ORIENTED PROGRAMMING. SUB CLASS: THE CLASS THAT INHERITS ESTATES FROM ANOTHER CLASS IS CALLED SUB CLASS OR DERIVED CLASS. SUPER CLASS: THE CLASS WHOSE ESTATES ARE INHERITED BY SUB CLASS IS CALLED BASE CLASS OR SUPER CLASS.
  • 4. MODES OF INHERITANCE MODES OF INHERITANCE • PUBLIC MODE: IF WE ASSUME A SUB CLASS FROM A PUBLIC BASE CLASS. THEN THE PUBLIC MEMBER OF THE BASE CLASS WILL BECOME PUBLIC IN THE DERIVED CLASS AND COVERED MEMBERS OF THE BASE CLASS WILL BECOME COVERED IN DERIVED CLASS. • PROTECTED MODE: IF WE ASSUME A SUB CLASS FROM A COVERED BASE CLASS. THEN BOTH PUBLIC MEMBER AND COVERED MEMBERS OF THE BASE CLASS WILL BECOME COVERED IN DERIVED CLASS. • PRIVATE MODE: IF WE ASSUME A SUB CLASS FROM A PRIVATE BASE CLASS. THEN BOTH PUBLIC MEMBER AND COVERED MEMBERS OF THE BASE CLASS WILL BECOME PRIVATE IN DERIVED CLASS.
  • 5. TYPES OF INHERITANCE • SINGLE INHERITANCE: IN SINGLE INHERITANCE, A CLASS IS GRANT TO INHERIT FROM ONLY ONE CLASS. I.E. ONE SUB CLASS IS ROOTED BY ONE BASE CLASS ONLY. SYNTAX: CLASS SUBCLASS_NAME : ACCESS_MODE BASE_CLASS { //BODY OF SUBCLASS };
  • 6. • MULTIPLE INHERITANCE: MULTIPLE INHERITANCE IS A CHARACTER OF C++ WHERE A CLASS CAN INHERIT FROM MORE THAN ONE CLASSES. I.E ONE SUB CLASS IS ROOTED FROM MORE THAN ONE BASE CLASSES. SYNTAX: CLASS SUBCLASS_NAME : ACCESS_MODE BASE_CLASS1, ACCESS_MODE BASE_CLASS2, .... { //BODY OF SUBCLASS };
  • 7. • MULTILEVEL INHERITANCE: IN THIS TYPE OF INHERITANCE, A DERIVED CLASS IS CONSTRUCT FROM ANOTHER DERIVED CLASS. • HIERARCHICAL INHERITANCE: IN THIS TYPE OF INHERITANCE, MORE THAN ONE SUB CLASS IS ROOTED FROM A SINGLE BASE CLASS. I.E. MORE THAN ONE DERIVED CLASS IS CONSTRUCT FROM A SINGLE BASE CLASS.
  • 8. • HYBRID (VIRTUAL) INHERITANCE: HYBRID INHERITANCE IS ACHEIVED BY CONNECTING MORE THAN ONE TYPE OF INHERITANCE. FOR EXAMPLE: CONNECTING HIERARCHICAL INHERITANCE AND MULTIPLE INHERITANCE.
  • 9. EXAMPLE OF INHERITANCE: #INCLUDE <IOSTREAM.H> USING NAMESPACE STD; //BASE CLASS CLASS PARENT { PUBLIC: INT ID_P; }; // SUB CLASS INHERITING FROM BASE CLASS(PARENT) CLASS CHILD : PUBLIC PARENT { PUBLIC: INT ID_C; };
  • 10. //MAIN FUNCTION INT MAIN() { CHILD OBJ1; // AN OBJECT OF CLASS CHILD HAS ALL DATA MEMBERS // AND MEMBER FUNCTIONS OF CLASS PARENT OBJ1.ID_C = 7; OBJ1.ID_P = 91; COUT << "CHILD ID IS " << OBJ1.ID_C << ENDL; COUT << "PARENT ID IS " << OBJ1.ID_P << ENDL; RETURN 0; }
  • 11. POINTER POINTER:  A POINTER IS A VARIABLE THAT DOMINANCE A MEMORY ADDRESS WHERE A VALUE ACTIVITY.  A POINTER IS ANNOUNCED USING THE * OPERATOR BEFORE AN ACCESSORY.  AS C++ IS A STATICALLY TYPED LANGUAGE, THE TYPE IS REQUIRED TO ASSERTS A POINTER. EXAMPLE OF POINTER: #INCLUDE <IOSTREAM> USING NAMESPACE STD; INT MAIN () { I INT VAR = 20; // ACTUAL VARIABLE DECLARATION. INT *IP; // POINTER VARIABLE IP = &VAR; // STORE ADDRESS OF VAR IN POINTER VARIABLE COUT << "VALUE OF VAR VARIABLE: "; COUT << VAR << ENDL; // PRINT THE ADDRESS STORED IN IP POINTER VARIABLE COUT << "ADDRESS STORED IN IP
  • 12. VARIABLE: "; COUT << IP << ENDL; // ACCESS THE VALUE AT THE ADDRESS AVAILABLE IN POINTER COUT << "VALUE OF *IP VARIABLE: "; COUT << *IP << ENDL; RETURN 0; } OUTPUT: VALUE OF VAR VARIABLE: 20 ADDRESS STORED IN IP VARIABLE: 0XBFC601AC VALUE OF *IP VARIABLE: 20
  • 13. VIRTUAL FUNCTIONS VIRTUAL FUNCTION: A VIRTUAL FUNCTION A MEMBER FUNCTION WHICH IS STATED WITHIN BASE CLASS AND IS RE-DEFINED BY DERIVED CLASS. WHEN YOU ASSIGN TO A DERIVED CLASS OBJECT USING A POINTER OR A HINT TO THE BASE CLASS, YOU CAN CALLA VIRTUAL FUNCTION FOR THAT OBJECT AND HANG THE DERIVED CLASS'S VERSION OF THE FUNCTION. EXAMPLE OF VIRTUAL FUNCTION: #INCLUDE<IOSTREAM> USING NAMESPACE STD; CLASS BASE { PUBLIC: VIRTUAL VOID PRINT () { COUT<< "PRINT BASE CLASS" <<ENDL; } VOID SHOW () { COUT<< "SHOW BASE CLASS" <<ENDL; } };
  • 14. CLASS DERIVED:PUBLIC BASE { PUBLIC: VOID PRINT () { COUT<< "PRINT DERIVED CLASS" <<ENDL; } VOID SHOW () { COUT<< "SHOW DERIVED CLASS" <<ENDL; } }; INT MAIN() { BASE *BPTR; DERIVED D; BPTR = &D; //VIRTUAL FUNCTION, BINDED AT RUNTIME BPTR->PRINT(); // NON-VIRTUAL FUNCTION, BINDED AT COMPILE TIME BPTR->SHOW(); } OUTPUT: PRINT DERIVED CLASS SHOW BASE CLASS
  • 15. POLYMORPHISM • POLYMORPHISM MEASURE THAT A CALL TO A MEMBER FUNCTION WILL CAUSE A DIFFERENT FUNCTION TO BE ASSASSINATE DEPENDING ON THE TYPE OF OBJECT THAT CONJURE THE FUNCTION. POLYMORPHISM OCCURS WHEN THERE IS A HIERARCHY OF CLASSES AND THEY ARE LINKED BY INHERITANCE.