Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

Date : 03-02-2023

How to write program of inheritence in C++

Single inheritence : A subclass is derived from a single base class

A base or parent class


|
|
B sub or derived class

#include<iostream.h>

class A
{
int num1;
public:
void display()
{
cout<<endl<<"Display() from class A..";
}
};

class B:public A
{
};

int main()
{
B b1;
b1.display();
return 0;
}
------------------------

class A
{
int num1;
public:
A(){ cout<<endl<<"Constructor of class A.." ; }
~A() { cout<<endl<< "Destructor of class A .."; }
void display()
{
cout<<endl<<"Display() from class A..";
}
};

class B:public A
{
public:
B(){ cout<<endl<<"Constructor of class B.." ; }
~B() { cout<<endl<< "Destructor of class B .." ;}
};

int main()
{
B b1;
b1.display();
return 0;
}

So, Constructors are called in order of base class to derived class


and destructors are called in the order of derived class to base class.

class F
{
public:
F() { cout<< endl<< "Constructor of class F.." ; }
~F() { cout<< endl<< "Destructor of class F.." ; }
};

class A
{
int num1;
public:
A(){ cout<<endl<<"Constructor of class A.." ; }
~A() { cout<<endl<< "Destructor of class A .."; }
void display()
{
cout<<endl<<"Display() from class A..";
}
};

class B:public A
{
F f1; // use of F class
public:
B(){ cout<<endl<<"Constructor of class B.." ; }
~B() { cout<<endl<< "Destructor of class B .." ;}
};

int main()
{
B b1;
b1.display();
return 0;
}

------------
Multiple inheritence

A B
| |
|_______|
|
C

class A
{
public:
A(){ cout << endl <<"Constructor of class A"; }
~A(){ cout << endl <<"Constructor of class A"; }
};

class B
{
public:
B(){ cout << endl <<"Constructor of class B"; }
~B(){ cout << endl <<"Constructor of class B"; }
};

class C:public A,public B


{
public:
C(){ cout << endl <<"Constructor of class C"; }
~C(){ cout << endl <<"Constructor of class C"; }
};

int main()
{
C obj;
return 0;
}

-------------------
Multilevel Inheritence

A super/base /parent class


|
|
B subclass for A / and base class for C
|
|
C

class A
{
public:
A(){ cout << endl <<"Constructor of class A"; }
~A(){ cout << endl <<"Constructor of class A"; }
};

class B: public A
{
public:
B(){ cout << endl <<"Constructor of class B"; }
~B(){ cout << endl <<"Constructor of class B"; }
};

class C:public B
{
public:
C(){ cout << endl <<"Constructor of class C"; }
~C(){ cout << endl <<"Constructor of class C"; }
};

int main()
{
C obj;
return 0;
}

You might also like