How to write this program?
We need a multi level inheritance.
And we know that multi level inheritance is as follows
At first, we will have a class name say “student”.
Then we will derive “test” from “student” (assume).
Then we will derive “result” from “test”.
It can be better represented as follows.
AND the constructor invocation of multi level inheritance can be represented as follows-: [SAME AS ABOVE FIGURE]
Now, the concept of multi level inheritance is clear,
Then we will create constructors(as well as destructors) inside each classes say x,y,and z classes.
The rule of constructor invocation in multi level inheritance is shown in figure below-:
So, our output must be like, first base class constructor, then derived1 class constructor and then derived2 class constructor.
Source Code-:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#include<iostream> using namespace std; class Base3 { public: Base3() { cout<<"Base3 class constructor"<<endl; } ~Base3() { cout<<"Base3 class destructor"<<endl; } }; class derived1:public Base3 { public: derived1() { cout<<"derived1 class constructor"<<endl; } ~derived1() { cout<<"derived1 class destructor"<<endl; } }; class derived2:public derived1 { public: derived2() { cout<<"derived2 class constructor "<<endl; } ~derived2() { cout<<"derived2 class destructor"<<endl; } }; int main() { { derived2 d2; } return 0; } |
Output-:
Base3 class constructor
derived1 class constructor
derived2 class constructor
derived2 class destructor
derived1 class destructor
Base3 class destructor
Leave a Reply