1 / 21

Inheritance - Multilevel

Inheritance - Multilevel. MEENA RAWAT PGT (COMP) KV ONGC Chandkheda. Contents. Objectives Concept of Inheritance – Need, Example Type of Class Type of Inheritance - forms Single level Inheritance Visibility Modes Multi level Inheritance. Objectives.

nevin
Download Presentation

Inheritance - Multilevel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inheritance - Multilevel MEENA RAWAT PGT (COMP) KV ONGC Chandkheda

  2. Contents • Objectives • Concept of Inheritance – Need, Example • Type of Class • Type of Inheritance - forms • Single level Inheritance • Visibility Modes • Multi level Inheritance

  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

  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

  5. Real Life Examples

  6. 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. Different forms of Inheritance • Single Inheritance – one base class, one derived class • Multiple Inheritance – multiple base class , One derived class • Hierarchical Inheritance - One base class , multiple derived class • Multilevel Inhetitance – derived from derived class • Hybrid Inheritance – mixture of above

  8. Single Level Inheritance One Base Class one derived class Syntax: Class derived_class_name : visibility_modebase_class_name { class members };

  9. 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. Visibilit modes • Specified whether the features of the base class are privately or publically or protected derived. • Control the access-specifier to be for inheritable members of base class in the derived class.

  11. Role of visibility modes

  12. Public Visibility Mode Class Super Class Base

  13. Private Visibility Mode Class Super Class Base

  14. Protected Visibility Mode Class Super Class Base

  15. Multilevel Inheritance(derived from a derived class)

  16. Example • #include <iostream.h> • class mm • { • protected: • introllno; • 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(intx,int y) • { • sub1 = x; • sub2 = y; • } • void put_marks(void) • { • cout << "Subject 1:" << sub1 << "\n"; • cout << "Subject 2:" << sub2 << "\n"; • } • };

  17. 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. Multiple Inheritance – many base class, one derived class Syntax: Class derived_class_name : visibility_modebase_class_name , visibility_modebase_class_name { class members };

  19. 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:privateBRANCH,public PUBLISHER • { • intAcode; • 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. Thank You.

More Related