SARDAR PATEL COLLEGE OF ENGINEERING
Subject : Object Oriented Programming With C++
Topic : INHERITANCE
Branch : IT 4th sem
Prepaid By : Nikunj.M.Patel
INHERITANCE
Inheritance is the process by which new classes called derived classes are
created from existing classes called base classes.
The derived classes have all the features of the base class and the
programmer can choose to add new features specific to the newly created
derived class.
The idea of inheritance implements the is a relationship. For example,
mammal IS-A animal, dog IS-A mammal hence dog IS-A animal as well and
so on.
WHAT IS AN INHERTANCE?
Reusability of Code
Saves Time and Effort
Faster development, easier maintenance and easy to extend.
Capable of expressing the inheritance relationship and its
transitive nature which ensures closeness with real world
problems .
FEATURES /ADVANTAGES OF INHERITANCE
To create a derived class from an already existing base class the syntax is:
class derived-class: access-specifier base-class
{
……….
……….
}
Where access specifier is one of public, protected, or private.
SYNTAX
For example, if the base class is animals and the
derived class is amphibians it is specified as:
class animals //base class
{
…….
};
class amphibians : public animals
{ //derived class
…..
};
SYNTAX contd……
In this example class amphibians have
access to both public and protected
members of base class animals.
NOTE: A class can be derived from
more than one class, which means it can
inherit data and functions from multiple
base classes. In that case a class
derivation lists names of one or more
base classes each separated by comma.
VISIBILTY MODES AND INHERITANCE
A child class can inherit base class in three ways. These are:
PRIVATE PROTECTED PUBLIC
PRIVATE NOT
INHERITED
Become private members of
child class
Become private members
of child class
PROTECTED NOT
INHERITED
Become protected members
of child class
Become protected members
of child class
PUBLIC NOT
INHERITED
Become protected members
of child class
Become public members of
child class
PRIVATE INHERITANCE
class child : private base
{
private:
int x;
void funcx();
protected:
int y;
void funcy();
public:
int z;
void funcz();
}
class child
{
private:
int x;
void funcx();
int b;
void funcb();
int c;
void funcc();
protected:
int y;
void funcy();
public:
int z;
void funcz();
}
In private inheritance protected and public members of the base class become the
private members of the derived class.
class base
{
private:
int a;
void funca();
protected:
int b;
void funcb();
public:
int c;
void funcc();
}
Private
inheritance
New child class after inheritance
Protected members
inherited from base class
Public members inherited
from base class
PROTECTED INHERITANCE
class child : protected base
{
private:
int x;
void funcx();
protected:
int y;
void funcy();
public:
int z;
void funcz();
}
class child
{
private:
int x;
void funcx();
protected:
int y;
void funcy();
int b;
void funcb();
int c;
void funcc();
public:
int z;
void funcz();
}
In protected inheritance protected and public members of the base class become the
protected members of the derived class.
class base
{
private:
int a;
void funca();
protected:
int b;
void funcb();
public:
int c;
void funcc();
}
Protected
inheritance
New child class after
inheritance
Protected members
inherited from base class
Public members
inherited from base
class
PUBLIC INHERITANCE
class child : public base
{
private:
int x;
void funcx();
protected:
int y;
void funcy();
public:
int z;
void funcz();
}
class child
{
private:
int x;
void funcx();
protected:
int y;
void funcy();
int b;
void funcb();
public:
int z;
void funcz();
int c;
void funcc();
}
In protected inheritance protected members become the protected members of the base class and public
members of the base class become the public members of the derived class.
class base
{
private:
int a;
void funca();
protected:
int b;
void funcb();
public:
int c;
void funcc();
}
Public
inheritance
New child class after
inheritance
Protected members
inherited from base
class
Public members
inherited from base
class
TYPES OF INHERITANCE
There are five different types of inheritance:
1. Single Inheritance
2. Multiple Inheritance
3. Multilevel Inheritance
4. Hierarchical Inheritance
5. Hybrid Inheritance
SINGLE INHERITENCE
Single inheritance is the one where you have a single base
class and a single derived class.
EXAMPLE
class student
{
private:
char name[20];
float marks;
protected:
void result();
public:
student();
void enroll();
void display();
}
class course : public student
{
long course_code;
char course_name;
public:
course();
void commence();
void cdetail();
}
STUDENT
COURSE
MULTILEVEL INHERITENCE
In Multi level inheritance, a subclass inherits from a class
that itself inherits from another class.
EXAMPLE
class furniture
{
char type;
char model[10];
public:
furniture();
void readdata();
void dispdata();
}
class sofa: public furniture
{
int no_of_seats;
float cost;
public:
void indata();
void outdata();
};
class office: private sofa
{
int no_of_pieces;
char delivery_date[10];
public:
void readdetails()
void displaydetails();
}
FURNITURE
OFFICE
SOFA
MULTIPLE INHERITENCE
In Multiple inheritances, a derived class inherits from multiple
base classes. It has properties of both the base classes.
MULTIPLE INHERITENCE
EXAMPLE
class chaiperson
{
long chairid;
char name[20];
protected:
char description[20];
void allocate();
public:
chairperson();
void assign();
void show();
};
class director
{
long directorid;
char dname[20];
public:
director();
void entry();
void display();
};
class company: private
chairperson, public director
{
int companyid;
char city[20];
char country[20];
public:
void ctentry();
void ctdisplay();
};
COMPANY
CHAIRPERSON DIRECTOR
HIERARCHICAL INHERITENCE
In hierarchical Inheritance, it's like an inverted tree. So multiple
classes inherit from a single base class.
HIERARCHICAL INHERITENCE
EXAMPLE
class toys
{
char tcode[5];
protected:
float price;
void assign(float);
public:
toys();
void tentry();
void tdisplay();
};
class softtoys: public toys
{
chat stname[20];
float weight;
public:
softtoys();
void stentry();
void stdisplay();
};
class electronictoys: public
toys
{
char etname[20];
int no_of_batteries;
public:
void etentry();
void etdisplay();
};
TOYS
ELECTRONIC
TOYS
SOFT
TOYS
HYBRID INHERITENCE
It combines two or more types of inheritance. In this type of
inheritance we can have a mixture of number of inheritances.

EASY TO LEARN INHERITANCE IN C++

  • 1.
    SARDAR PATEL COLLEGEOF ENGINEERING Subject : Object Oriented Programming With C++ Topic : INHERITANCE Branch : IT 4th sem Prepaid By : Nikunj.M.Patel
  • 2.
  • 3.
    Inheritance is theprocess by which new classes called derived classes are created from existing classes called base classes. The derived classes have all the features of the base class and the programmer can choose to add new features specific to the newly created derived class. The idea of inheritance implements the is a relationship. For example, mammal IS-A animal, dog IS-A mammal hence dog IS-A animal as well and so on. WHAT IS AN INHERTANCE?
  • 4.
    Reusability of Code SavesTime and Effort Faster development, easier maintenance and easy to extend. Capable of expressing the inheritance relationship and its transitive nature which ensures closeness with real world problems . FEATURES /ADVANTAGES OF INHERITANCE
  • 5.
    To create aderived class from an already existing base class the syntax is: class derived-class: access-specifier base-class { ………. ………. } Where access specifier is one of public, protected, or private. SYNTAX
  • 6.
    For example, ifthe base class is animals and the derived class is amphibians it is specified as: class animals //base class { ……. }; class amphibians : public animals { //derived class ….. }; SYNTAX contd…… In this example class amphibians have access to both public and protected members of base class animals. NOTE: A class can be derived from more than one class, which means it can inherit data and functions from multiple base classes. In that case a class derivation lists names of one or more base classes each separated by comma.
  • 7.
    VISIBILTY MODES ANDINHERITANCE A child class can inherit base class in three ways. These are: PRIVATE PROTECTED PUBLIC PRIVATE NOT INHERITED Become private members of child class Become private members of child class PROTECTED NOT INHERITED Become protected members of child class Become protected members of child class PUBLIC NOT INHERITED Become protected members of child class Become public members of child class
  • 8.
    PRIVATE INHERITANCE class child: private base { private: int x; void funcx(); protected: int y; void funcy(); public: int z; void funcz(); } class child { private: int x; void funcx(); int b; void funcb(); int c; void funcc(); protected: int y; void funcy(); public: int z; void funcz(); } In private inheritance protected and public members of the base class become the private members of the derived class. class base { private: int a; void funca(); protected: int b; void funcb(); public: int c; void funcc(); } Private inheritance New child class after inheritance Protected members inherited from base class Public members inherited from base class
  • 9.
    PROTECTED INHERITANCE class child: protected base { private: int x; void funcx(); protected: int y; void funcy(); public: int z; void funcz(); } class child { private: int x; void funcx(); protected: int y; void funcy(); int b; void funcb(); int c; void funcc(); public: int z; void funcz(); } In protected inheritance protected and public members of the base class become the protected members of the derived class. class base { private: int a; void funca(); protected: int b; void funcb(); public: int c; void funcc(); } Protected inheritance New child class after inheritance Protected members inherited from base class Public members inherited from base class
  • 10.
    PUBLIC INHERITANCE class child: public base { private: int x; void funcx(); protected: int y; void funcy(); public: int z; void funcz(); } class child { private: int x; void funcx(); protected: int y; void funcy(); int b; void funcb(); public: int z; void funcz(); int c; void funcc(); } In protected inheritance protected members become the protected members of the base class and public members of the base class become the public members of the derived class. class base { private: int a; void funca(); protected: int b; void funcb(); public: int c; void funcc(); } Public inheritance New child class after inheritance Protected members inherited from base class Public members inherited from base class
  • 11.
    TYPES OF INHERITANCE Thereare five different types of inheritance: 1. Single Inheritance 2. Multiple Inheritance 3. Multilevel Inheritance 4. Hierarchical Inheritance 5. Hybrid Inheritance
  • 12.
    SINGLE INHERITENCE Single inheritanceis the one where you have a single base class and a single derived class.
  • 13.
    EXAMPLE class student { private: char name[20]; floatmarks; protected: void result(); public: student(); void enroll(); void display(); } class course : public student { long course_code; char course_name; public: course(); void commence(); void cdetail(); } STUDENT COURSE
  • 14.
    MULTILEVEL INHERITENCE In Multilevel inheritance, a subclass inherits from a class that itself inherits from another class.
  • 15.
    EXAMPLE class furniture { char type; charmodel[10]; public: furniture(); void readdata(); void dispdata(); } class sofa: public furniture { int no_of_seats; float cost; public: void indata(); void outdata(); }; class office: private sofa { int no_of_pieces; char delivery_date[10]; public: void readdetails() void displaydetails(); } FURNITURE OFFICE SOFA
  • 16.
    MULTIPLE INHERITENCE In Multipleinheritances, a derived class inherits from multiple base classes. It has properties of both the base classes.
  • 17.
    MULTIPLE INHERITENCE EXAMPLE class chaiperson { longchairid; char name[20]; protected: char description[20]; void allocate(); public: chairperson(); void assign(); void show(); }; class director { long directorid; char dname[20]; public: director(); void entry(); void display(); }; class company: private chairperson, public director { int companyid; char city[20]; char country[20]; public: void ctentry(); void ctdisplay(); }; COMPANY CHAIRPERSON DIRECTOR
  • 18.
    HIERARCHICAL INHERITENCE In hierarchicalInheritance, it's like an inverted tree. So multiple classes inherit from a single base class.
  • 19.
    HIERARCHICAL INHERITENCE EXAMPLE class toys { chartcode[5]; protected: float price; void assign(float); public: toys(); void tentry(); void tdisplay(); }; class softtoys: public toys { chat stname[20]; float weight; public: softtoys(); void stentry(); void stdisplay(); }; class electronictoys: public toys { char etname[20]; int no_of_batteries; public: void etentry(); void etdisplay(); }; TOYS ELECTRONIC TOYS SOFT TOYS
  • 20.
    HYBRID INHERITENCE It combinestwo or more types of inheritance. In this type of inheritance we can have a mixture of number of inheritances.