1 class P { 2 protected: 3 int x; 4 }; 5 6 namespace A { 7 class P { 8 protected: 9 int x; 10 }; 11 class Q { 12 int y; 13 }; 14 15 namespace C { 16 class R: ::P, A::Q { 17 int z; f(int v)18 int f (int v) { return v + x; } 19 }; 20 } 21 } 22 23 namespace B { 24 class S : A::C::R { 25 int t; 26 }; 27 } 28