1 class A 2 { 3 protected: 4 A(); 5 virtual ~A(); 6 }; 7 8 class B : virtual public A 9 { 10 public: 11 B(); 12 virtual ~B(); 13 }; 14 15 class C 16 { 17 private: 18 class C2 : public B 19 { 20 public: 21 C2(); 22 virtual ~C2(); 23 }; 24 }; 25