How to call parent constructors in multiple inheritance using C++

1 Answer

0 votes
#include <iostream>

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

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


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

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


class Derived : public Base1, public Base2, public Base3 {
public:
	Derived(void) : Base1(), Base2(), Base3()
	{
		cout << "Constructor Derived" << endl;
	};
	~Derived(void)
	{
		cout << "Destructor Derived" << endl;
	};
};

int main()
{
	Derived o;

	return 0;
}



/*
run:

Constructor Base1
Constructor Base2
Constructor Base3
Constructor Derived
Destructor Derived
Destructor Base3
Destructor Base2
Destructor Base1

*/

 



answered Mar 5, 2018 by avibootz

Related questions

1 answer 240 views
1 answer 221 views
1 answer 171 views
1 answer 178 views
1 answer 234 views
...