#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 Derived : public Base1, public Base2 {
public:
Derived() : Base1(), Base2() {
cout << "Constructor Derived" << endl;
}
~Derived() {
cout << "Destructor Derived" << endl;
}
};
int main()
{
Derived o;
return 0;
}
/*
run:
Constructor Base1
Constructor Base2
Constructor Derived
Destructor Derived
Destructor Base2
Destructor Base1
*/