1 struct A 2 { 3 A (); 4 ~A (); 5 }; 6 7 struct B 8 { 9 A b; 10 virtual void mb (); 11 B (int); 12 virtual ~B (); 13 }; 14 15 struct C : public B 16 { 17 virtual void mc (); 18 C (int); 19 ~C (); 20 }; 21 ~C()22 inline C::~C () {} 23 24 struct D : public C 25 { 26 A d; 27 D (int); 28 ~D (); 29 }; 30