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