Download presentation
Presentation is loading. Please wait.
Published byClaud Anthony Modified over 9 years ago
1
Inheritance - Multilevel MEENA RAWAT PGT (COMP) KV ONGC Chandkheda 1
2
Contents 1.Objectives 2.Concept of Inheritance – Need, Example 3.Type of Class 4.Type of Inheritance - forms 5.Single level Inheritance 6.Visibility Modes 7.Multi level Inheritance 2
3
Objectives In this session, you will learn: – To be able to create new classes by inheriting from existing classes. – To understand how inheritance promotes software reusability. – To understand the notions of base classes and derived classes. – Forms of Inheritance 3
4
Concept of Inheritance - Need The mechanism by which one class can inherit the properties of another class. It allows a hierarchy of classes to be built, moving from the most general to the most specific. Code reusability - one class can be used without redefining or rewrite. It makes faster development time, easier to maintenance, easy to extend. Capability to express the inheritance relationship Transitive nature of nature 4
5
Real Life Examples 5
6
VehiclesAutomobilesCarsBike Non Auto Mobile Cycle 6
7
Type of Class Base Class / Super Class – Defines all qualities attributes common to any derived classes. Derived Class / Sub Class – Inherits those general properties and adds new properties that are specific to that class. 7
8
Different forms of Inheritance 1.Single Inheritance – one base class, one derived class 2.Multiple Inheritance – multiple base class, One derived class 3.Hierarchical Inheritance - One base class, multiple derived class 4.Multilevel Inhetitance – derived from derived class 5.Hybrid Inheritance – mixture of above 8
9
Single Level Inheritance One Base Class one derived class Syntax: Class derived_class_name : visibility_mode base_class_name { class members }; basederived 9
10
Example of Single Level Inheritance class base // base class { int x; public: void setx(int n) { x = n; } void showx() { cout << x << ‘\n’ } }; // Inherit as public class derived : public base //derived class { int y; public: void sety(int n) { y = n; } void showy() { cout << y << ‘\n’;} }; int main() { derived ob; ob.setx(10); ob.sety(20); ob.showx(); ob.showy(); } 10
11
Visibilit modes 1.Specified whether the features of the base class are privately or publically or protected derived. 2.Control the access-specifier to be for inheritable members of base class in the derived class. 11
12
Role of visibility modes Visibility Mode isInheritable public member becomes (in derived class) Inheritable protected member becomes (in derived class) Private member of base class are not directly accessible to derived class Public Protected Privateprivate 12
13
Public Visibility Mode X check()private Y display()public Z getval()protected 13 A init()Private Y display() B readit() Public Z getval() C writeval() Protected Class Super Class Base
14
Private Visibility Mode X check()private Y display()public Z getval()protected 14 A init() Y display() Z getval() Private B readit()Public C writeval()Protected Class Super Class Base
15
Protected Visibility Mode X check()private Y display()public Z getval()protected 15 A init()Private B readit()Public C writeval() Y display() Z getval() Protected Class Super Class Base
16
Multilevel Inheritance (derived from a derived class) 16
17
Example #include class mm { protected: int rollno; public: void get_num(int a) { rollno = a; } void put_num() { cout << "Roll Number Is:\n"<< rollno << "\n"; } }; class marks : public mm { protected: int sub1; int sub2; public: void get_marks(int x,int y) { sub1 = x; sub2 = y; } void put_marks(void) { cout << "Subject 1:" << sub1 << "\n"; cout << "Subject 2:" << sub2 << "\n"; } }; 17
18
class res : public marks { protected: float tot; public: void disp(void) { tot = sub1+sub2; put_num(); put_marks(); cout << "Total:"<< tot; } }; int main() { res std1; std1.get_num(5); std1.get_marks(10,20); std1.disp(); return 0; } 18
19
Multiple Inheritance – many base class, one derived class Syntax: Class derived_class_name : visibility_mode base_class_name, visibility_mode base_class_name { class members }; 19
20
Question asked in Board Exam Answer the questions (i) to (iv) based on the following: 4 class PUBLISHER { char Pub[12]; double Turnover; protected: void Register(); public: PUBLISHER(); void Enter(); void Display(); }; class BRANCH { char CITY[20]; protected: float Employees; public: BRANCH(); void Haveit(); void Giveit(); }; class AUTHOR:private BRANCH,public PUBLISHER { int Acode; char Aname[20]; float Amount; public: AUTHOR(); void Start(); void Show(); }; Write the names of data members, which are accessible from objects belonging to class AUTHOR. Write the names of all the member functions which are accessible from objects belonging to class BRANCH. Write the names of all the members which are accessible from member functions of class AUTHOR. How many bytes will be required by an object belonging to class AUTHOR? 20
21
Thank You. 21
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.