1 class B0S0 2 { 3 int m0; 4 char m1; 5 unsigned m2; 6 7 public: 8 void 9 member0() const; 10 11 static void 12 static_member0(); 13 }; 14 15 void member0() const16B0S0::member0() const 17 {} 18 19 void static_member0()20B0S0::static_member0() 21 { 22 } 23 24 class B0S1 25 { 26 int m0; 27 28 public: B0S1()29 B0S1() 30 {} 31 }; 32 33 class S0 : public B0S0 34 { 35 protected: 36 int m0; 37 38 public: 39 void 40 member0() const; 41 42 int 43 get_member0() const; 44 }; 45 46 void member0() const47S0::member0() const 48 {} 49 50 int get_member0() const51S0::get_member0() const 52 {return m0;} 53 54 class S1 : public B0S1 55 { 56 int m0; member0()57 void member0() 58 {} 59 }; 60 61 void foo(S0 &,S1 *)62foo(S0&, S1*) 63 {} 64