Inheritance
is the property of deriving a new class from an existing class.
The
existing class or old class is referred to as base class or super class or parent class.
The
new class is referred to as derived class or subclass or child class.
Use
: symbol to inherit a new class from
existing class.
Advantage
1) Code reusability (You can reuse same code again and again)
Advantage
1) Code reusability (You can reuse same code again and again)
2) Extensibility (New class is generated from existing class )
Syntax:
Class derived-class: visibility-mode base-class
{
};
Where visibility-mode is your access-modifier that may be private, public,
protected.
Note:
Sub class can access both super
and sub class values but super class can access only its own class value.
Types:
There are five types of inheritance in
c++, they are
·
Single
Inheritance
·
Multiple
Inheritance
·
Hierarchical
Inheritance
·
Multilevel
Inheritance
·
Hybrid
Inheritance (also known as Virtual Inheritance)
1)Single Inheritance
In single inheritance, there
is only one base class and one derived class. The Derived class gets inherited
from its base class
Syntax:
Class A
{
//statements
};
Class B:public A
{
//statements
};
Example:
#include<iostream.h>
#include<conio.h>
class A{
public:
int a,b;
public:
void show()
{
cout<<"Hello"<<endl;
}
};
class B:public A {
public:
void add()
{
cout<<"Enter two
no"<<endl;
cin>>a>>b;
cout<<"sum
is:"<<a+b<<endl;
}
};
void main()
{
clrscr();
B b1;
b1.show();
b1.add();
getch();
}
Output:
Hello
Enter two no
23
45
sum is:68
2) Multiple Inheritance
Syntax:
Class A
{
// statements
};
Class B
{
// statements
};
Class C:public A,public B
{
// statements
};
Example:
#include<iostream.h>
#include<conio.h>
class A{
public:
int a,b;
public:
void showParent1()
{
cout<<"Parent1"<<endl;
}
};
class B{
public:
int c;
public:
void showParent2()
{
cout<<"Parent2"<<endl;
}
};
class C:public A ,public B{
public:
void addChild()
{
cout<<"Enter two
no"<<endl;
cin>>a>>b;
cout<<"sum
is:"<<a+b<<endl;
}
void sqaureChild()
{
cout<<"Enter
no"<<endl;
cin>>c;
cout<<"square
is:"<<c*c<<endl;
}
};
void main() {
clrscr();
C c1;
c1.showParent1();
c1.showParent2();
c1.addChild();
c1.sqaureChild();
getch();
}
Output:
Parent1
Parent2
Enter two no
23
45
sum is:68
Enter no
5
square is:25
3)Hierarchical Inheritance
In
Hierarchical inheritance, multiple derived
classes inherits from a single base class
Syntax:
class A{
//statements
};
class B:public A{
//statements
};
class C:public A {
//statements
};
Example:
#include<iostream.h>
#include<conio.h>
class A{
public:
int a,b,c;
public:
void showParent()
{
cout<<"Parent1"<<endl;
}
};
class B:public A{
public:
void addChild1()
{
cout<<"Enter two
no"<<endl;
cin>>a>>b;
cout<<"sum
is:"<<a+b<<endl;
}
};
class C:public A {
public:
void sqaureChild2()
{
cout<<"Enter
no"<<endl;
cin>>c;
cout<<"square
is:"<<c*c<<endl;
}
};
void main() {
A a1;
a1.showParent();
B b1;
b1.addChild1();
C c1;
c1.sqaureChild2();
getch();
}
Output:
Parent1
Enter two no
23
45
sum is:68
Enter no
5
square is:25
4)Multilevel Inheritance
The
classes can also be derived from the classes that are already derived. This
type of inheritance is called multilevel inheritance
In
this type of inheritance the derived class inherits from a class, which in turn
inherits from some other class.
Syntax:
class
A{
//Statements
};
class B:public A{
//Statements
};
class C:public B{
//Statements
};
Example:
#include<iostream.h>
#include<conio.h>
class A{
public:
int a,b;
public:
void showParent()
{
cout<<"Parent1"<<endl;
}
};
class B:public A{
public:
int c;
void addChild1()
{
cout<<"Enter two
no"<<endl;
cin>>a>>b;
cout<<"sum
is:"<<a+b<<endl;
}
};
class C:public B{
public:
void sqaureChild2()
{
cout<<"Enter
no"<<endl;
cin>>c;
cout<<"square
is:"<<c*c<<endl;
}
void mult()
{
cout<<"multiplication
is:"<<a*b*c<<endl;
}
};
void
main() {
C c1;
c1.showParent();
c1.addChild1();
c1.sqaureChild2();
c1.mult();
getch();
}
Output:
Parent1
Enter two no
4
5
sum is:9
Enter no
5
square is:25
multiplication is:100
Hybrid Inheritance
Hybrid Inheritance is implemented by
combining more than one type of inheritance like
1)Hybrid Inheritance is combination of
Hierarchical and Mutilevel Inheritance.
2) Hybrid inheritance is a combination of
multiple inheritance and multilevel inheritance
Syntax: Hybrid Inheritance is
combination of Hierarchical and Mutilevel Inheritance
class
A{
//statements
};
class B:public A{
//statements
};
class C:public A{
//statements
};
class D:public B,public C{
//statements
};
Example: Hybrid Inheritance is combination of Hierarchical
and Mutilevel Inheritance
#include<iostream.h>
#include<conio.h>
class A{
public:
int a,b,c;
public:
void showParent()
{
cout<<"Parent1"<<endl;
}
};
class B:public A{
public:
int x;
void addChild1()
{
cout<<"Enter two
no"<<endl;
cin>>a>>b;
cout<<"sum
is:"<<a+b<<endl;
}
};
class C:public A{
public:
int y;
void sqaureChild2()
{
cout<<"Enter
no"<<endl;
cin>>c;
cout<<"square
is:"<<c*c<<endl;
}
};
class D:public B,public C{
public:
void multiChild3()
{
cout<<"Enter
no"<<endl;
cin>>x>>y;
cout<<"multiplication
is:"<<x*y<<endl; }
};
void
main() {
A a1;
a1.showParent();
D d1;
d1.addChild1();
d1.sqaureChild2();
d1.multiChild3();
getch();
}
Output:
Parent1
Enter two no
4
5
sum is:9
Enter no
5
square is:25
Enter no
7
6
multiplication is:42
Python is an open-source, high level, interpreted programming language which offers great opportunities for object-oriented programming. Choosing a python training program from Red Prism Group, which is best training institute for python in noida.
ReplyDelete