SlideShare a Scribd company logo
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
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
Vineeta Garg
 
inheriTANCE IN OBJECT ORIENTED PROGRAM.pptx
inheriTANCE IN OBJECT ORIENTED PROGRAM.pptxinheriTANCE IN OBJECT ORIENTED PROGRAM.pptx
inheriTANCE IN OBJECT ORIENTED PROGRAM.pptx
urvashipundir04
 
Seminar on java
Seminar on javaSeminar on java
Seminar on java
shathika
 
OOP.ppt
OOP.pptOOP.ppt
session 24_Inheritance.ppt
session 24_Inheritance.pptsession 24_Inheritance.ppt
session 24_Inheritance.ppt
NAVANEETCHATURVEDI2
 
C++Presentation 2.PPT
C++Presentation 2.PPTC++Presentation 2.PPT
C++Presentation 2.PPT
VENARATEKANHURU
 
Inheritance in C++
Inheritance in C++Inheritance in C++
Inheritance in C++
Shweta Shah
 
Inheritance
Inheritance Inheritance
Inheritance
sourav verma
 
Inheritance
InheritanceInheritance
Inheritance
prashant prath
 
EASY TO LEARN INHERITANCE IN C++
EASY TO LEARN INHERITANCE IN C++EASY TO LEARN INHERITANCE IN C++
EASY TO LEARN INHERITANCE IN C++
Nikunj Patel
 
Inheritance in c++
Inheritance in c++Inheritance in c++
Inheritance in c++
VishnuSupa
 
inheritance
   inheritance   inheritance
inheritance
krishna partiwala
 
6.INHERITANCE.ppt(MB).ppt .
6.INHERITANCE.ppt(MB).ppt                    .6.INHERITANCE.ppt(MB).ppt                    .
6.INHERITANCE.ppt(MB).ppt .
happycocoman
 
C++ presentation
C++ presentationC++ presentation
C++ presentation
SudhanshuVijay3
 
Inheritance
Inheritance Inheritance
Inheritance
Parthipan Parthi
 
Inheritance
InheritanceInheritance
lecture 6.pdf
lecture 6.pdflecture 6.pdf
lecture 6.pdf
WaqarRaj1
 
Inheritance.pptx
Inheritance.pptxInheritance.pptx
Inheritance.pptx
Tansh5
 
Inheritance
InheritanceInheritance
Inheritance
lykado0dles
 

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

RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
IreneSebastianRueco1
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
ak6969907
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
sayalidalavi006
 
Smart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICTSmart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICT
simonomuemu
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
paigestewart1632
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
Dr. Shivangi Singh Parihar
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
NgcHiNguyn25
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
TechSoup
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
Celine George
 

Recently uploaded (20)

RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
 
Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5Community pharmacy- Social and preventive pharmacy UNIT 5
Community pharmacy- Social and preventive pharmacy UNIT 5
 
Smart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICTSmart-Money for SMC traders good time and ICT
Smart-Money for SMC traders good time and ICT
 
Cognitive Development Adolescence Psychology
Cognitive Development Adolescence PsychologyCognitive Development Adolescence Psychology
Cognitive Development Adolescence Psychology
 
PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.PCOS corelations and management through Ayurveda.
PCOS corelations and management through Ayurveda.
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
Life upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for studentLife upper-Intermediate B2 Workbook for student
Life upper-Intermediate B2 Workbook for student
 
Walmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdfWalmart Business+ and Spark Good for Nonprofits.pdf
Walmart Business+ and Spark Good for Nonprofits.pdf
 
How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17How to Fix the Import Error in the Odoo 17
How to Fix the Import Error in the Odoo 17
 

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.