1 2 3 class A 4 { 5 }; 6 7 class B 8 { 9 }; 10 11 template<typename X,typename Y> class C 12 { 13 }; 14 15 class D : public A 16 { 17 }; 18 19 class E : public A, public B 20 { 21 }; 22 23 class F : private A, public B 24 { 25 }; 26 27 class G : virtual D 28 { 29 }; 30 31 class H : public A, virtual B 32 { 33 }; 34 35 class I : public C<A,B> 36 { 37 }; 38 39 class J : private A, public C<A,B> 40 { 41 }; 42 43