order of constructor and destructor in multilevel inheritance




#include <iostream> using namespace std; class base { public: base() { cout<<"base 1 constructor called\n"; } ~base() { cout<<"base 1 destructor called\n"; } }; class base2 :public base { public: base2() { cout<<"base 2 constructor called\n"; } ~base2() { cout<<"base 2 destructor called\n"; } }; class base3 :public base2 { public: base3() { cout<<"base 3 constructor called\n"; } ~base3() { cout<<"base 3 destructor called\n"; } }; int main() { base3 obj; }

Output:


0 comments: