1 class A 2 { 3 public: 4 typedef int T; 5 int a; 6 }; 7 8 class B : virtual private A 9 { 10 }; 11 12 class C : virtual private A, public B 13 { 14 public: 15 using A::a; 16 using A::T; 17 }; 18 19 C::T x; 20