3 extern "C" void abort ();
7 B::B (int i) : x (i) { }
8 B::~B () { if (d-- != x) abort (); }
10 C1::C1 (int i) : B (i) {}
12 C2::C2 (int i) : B (i) {}
14 D::D (int i) : B (i) {}
16 E::E (int i) : B (i) {}
18 A::A () : D (0), E (1), C1 (2), C2 (3), x1(4), x2(5) {}