#include <fstream>using namespace std;ofstream out ("order.txt");#define CLASS(ID) class ID{\public: \ ID(int) {out << #ID " constructor\n";}\ ~ID() {out << #ID " destructor\n";}\};CLASS(base1);CLASS(member1);CLASS(member2);CLASS(member3);CLASS(member4);class derived1 : public base1{ member1 m1; member2 m2;public: derived1(int) : m2(1), m1(2), base1(3) { out << "derived1 constructor\n"; } ~derived1() { out << "derived1 destructor\n"; }};class derived2 : public derived1{ member3 m3; member4 m4;public: derived2():m3(1),derived1(2),m4(3) { out << "derived2 constructor\n"; } ~derived2() { out << "derived2 destructor\n"; }};int _tmain(int argc, _TCHAR* argv[]){ derived2 d2; return 0;}order.txt的输出内容:base1 constructormember1 constructormember2 constructorderived1 constructormember3 constructormember4 constructorderived2 constructorderived2 destructormember4 destructormember3 destructorderived1 destructormember2 destructormember1 destructorbase1 destructor 转载于:https://www.cnblogs.com/hunter_gio/archive/2005/05/11/153110.html