#include class Base1 { public: Base1() { cout << "Base 1 Constructor" << endl; } private: //... }; class Base2 { public: Base2() { cout << "Base 2 Constructor" << endl; } private: //... }; class Aggregate1 { public: Aggregate1() { cout << "Aggregate 1 Constructor" << endl; } private: //... }; class Aggregate2 { public: Aggregate2() { cout << "Aggregate 2 Constructor" << endl; } private: //... }; class Derived : public Base2, Base1 { public: Derived():A1(), Base2(), Base1(), A2() { cout << "Derived Constructor" << endl; } private: Aggregate1 A1; Aggregate2 A2; }; void main() { Derived D; }