Inheritance
Inheritance means deviring properties of one class into another class.
class A => Parent /Base / Super class
class B => Child /Derived /Sub-class
#include <iostream>
using namespace std;
class A
{
public:
void showA()
{
cout<<"I am showA()"<<endl;
}
};
class B
{
public:
void showB()
{
cout<<"I am showB()"<<endl;
}
};
int main() {
A objA;
objA.showA();
B objB;
objB.showAB();
return 0;
}
Output
I am showA()
I am showB()
Explaination
create class A write access specifier public, create a showA() method.
print I am showA()
create another class B write access specifier public, create a showB() method.
print I am showB()
In main function create object of A class and using objA object call showA() method
In next line create object of B class and using objB object call showA() method
#include <iostream>
using namespace std;
class A
{
public:
void showA()
{
cout<<"I am showA()"<<endl;
}
};
class B : public A
{
public:
void showB()
{
cout<<"I am showB()"<<endl;
}
};
int main() {
B objB;
objB.showB();
objB.showA();
return 0;
}
Output
I am showA()
I am showB()
Explaination
create class A write access specifier public, create a showA() method.
print I am showA()
create another class B and inherite the properties of A and useing pulbic access specifier,
In next line write access specifier public, create a showB() method.
print I am showB()
In main function create object of B class objB.
using objB call showB() and showA() method.
Types of Inheritance​
Single level inheritance
Multilevel inheritance
multiple inheritance
Hierarchical inheritance
1. Single level inheritance​
The inheritance in which class B is inherited from a class A is known as Single level inheritance
#include <iostream>
using namespace std;
class A
{
public:
void showA()
{
cout<<"I am showA()"<<endl;
}
};
class B : public A
{
public:
void showB()
{
cout<<"I am showB()"<<endl;
}
};
int main() {
c objC;
objA.showA();
B objB;
objB.showAB();
return 0;
}
Output
I am showA()
I am showB()
Explaination
create class A write access specifier public, create a showA() method.
print I am showA()
create another class B and inherite the properties of A and useing pulbic access specifier,
In next line write access specifier public, create a showB() method.
print I am showB()
In main function create object of B class objB.
using objB call showB() and showA() method.
2. Multilevel inheritance​
The Multilevel inheritance means if a class A , class B and class C . class C is inherited from class B and
class B is inherited from class A
is known as Multilevel inheritance.
#include <iostream>
using namespace std;
class A
{
public:
void showA()
{
cout<<"I am showA()"<<endl;
}
};
class B : public A
{
public:
void showB()
{
cout<<"I am showB()"<<endl;
}
};
class C : public B
{
public:
void showC()
{
cout<<"I am showC()"<<endl;
}
};
int main() {
C obj;
obj.showC();
obj.showB();
obj.showA();
return 0;
}
Output
I am showC()
I am showB()
I am showA()
Explaination
create class A write access specifier public, create a showA() method.
print I am showA()
create another class B and inherite the properties of A and using pulbic access specifier,
In next line write access specifier public, create a showB() method.
print I am showB()
create another class C and inherite the properties of B and using pulbic access specifier,
In main function create object of C class objC.
using objC call showC() showB() and showA() method.
3. multiple inheritance​
In multiple inheritance means that a subclass can inherit from two or more superclass.
#include <iostream>
using namespace std;
class Mother
{
public:
void showMother()
{
cout<<"Mother : ABC"<<endl;
}
};
class Father
{
public:
void showFather()
{
cout<<"Father : PQR"<<endl;
}
};
class Child : public Mother, public Father
{
public:
void showChild()
{
cout<<" I am Child"<<endl;
}
};
int main() {
Child obj;
obj.showChild();
obj.showMother();
obj.showFather();
return 0;
}
Output
I am Child
Mother : ABC
Father : PQR
Explaination
create class Mother write access specifier public, create a showMother() method.
print Mother : ABC
create class Father write access specifier public, create a showFather() method.
print Father : PQR
create another class Child and inherite the properties of Mother and Father using pulbic access specifier,
In next line write access specifier public, create a showB() method.
print I am Child
In main function create object of Child class obj.
using obj call showMother() showFather() method.
4. Hierarchical inheritance​
In Hierarchical inheritance class RBI is a parent class and class BOI, class SBI is a child class.
#include <iostream>
using namespace std;
class RBI
{
public:
void showRBI()
{
cout<<"According to RBI guidlines RBI is 10% "<<endl;
}
};
class BOI : public RBI
{
public:
void showBank()
{
cout<<"I am BOI"<<endl;
}
};
class SBI : public RBI
{
public:
void showBank()
{
cout<<"I am SBI"<<endl;
}
};
int main() {
BOI obj1;
obj1.showBank();
obj1.showRBI();
SBI obj2;
obj2.showBank();
obj2.showRBI();
return 0;
}
Output
I am BOI
According to RBI guidlines RBI is 10%
I am SBI
According to RBI guidlines RBI is 10%
Explaination
create class RBI write access specifier public, create a showRBI() method.
print According to RBI guidlines RBI is 10%
create class BOI and inherite the properties of RBI, write access specifier public, create a showBOI() method.
print I am BOI
create another class SBI and inherite the properties of RBI, write access specifier public.
In next line create a showSBI() method.
print I am SBI
In main function create object of BOI class obj1, and call showBank(), and showRBI() method
create object of SBI class obj2, and call showBank(), and showRBI() method