What is the order of the constructor and destructor for three level inheritance in C++

1 Answer

0 votes
#include <iostream>

using std::cout;
using std::endl;

class Base {
public:
	Base() {
		cout << "Constructor class Base" << endl;
	}
	~Base() {
		cout << "Destructor class Base" << endl;
	}
};

class Derived1 : public Base {
public:
	Derived1() {
		cout << "Constructor class Derived1" << endl;
	}
	~Derived1() {
		cout << "Destructor class Derived1" << endl;
	}
};

class Derived2 : public Derived1 {
public:
	Derived2() {
		cout << "Constructor class Derived2" << endl;
	}
	~Derived2() {
		cout << "Destructor class Derived2" << endl;
	}
};

int main()
{
	Derived2 o;

	return 0;
}

/*
run:

Constructor class Base
Constructor class Derived1
Constructor class Derived2
Destructor class Derived2
Destructor class Derived1
Destructor class Base

*/

 



answered Mar 19, 2018 by avibootz

Related questions

1 answer 163 views
2 answers 217 views
1 answer 243 views
1 answer 239 views
1 answer 153 views
...