1 class B0S0 2 { 3 int m0; 4 char m1; 5 6 public: 7 void 8 member0() const; 9 10 static void 11 static_member0(); 12 }; 13 14 void member0() const15B0S0::member0() const 16 {} 17 18 void static_member0()19B0S0::static_member0() 20 { 21 } 22 23 class B0S1 24 { 25 int m0; 26 27 public: B0S1()28 B0S1() 29 {} 30 }; 31 32 class S0 : public B0S0 33 { 34 int m0; 35 void member0() const; 36 }; 37 38 void member0() const39S0::member0() const 40 {} 41 42 class S1 : public B0S1 43 { 44 int m0; member0()45 void member0() 46 {} 47 }; 48 49 void foo(S0 &,S1 *)50foo(S0&, S1*) 51 {} 52