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