1class A {
2public:
3    int a;
4    int aa;
5
6    A()
7    {
8        a=1;
9        aa=2;
10    }
11    int afoo();
12    int foo();
13
14};
15
16
17
18class B {
19public:
20    int b;
21    int bb;
22
23    B()
24    {
25        b=3;
26        bb=4;
27    }
28    int bfoo();
29    int foo();
30
31};
32
33
34
35class C {
36public:
37    int c;
38    int cc;
39
40    C()
41    {
42        c=5;
43        cc=6;
44    }
45    int cfoo();
46    int foo();
47
48};
49
50
51
52class D : private A, public B, protected C {
53public:
54    int d;
55    int dd;
56
57    D()
58    {
59        d =7;
60        dd=8;
61    }
62    int dfoo();
63    int foo();
64
65};
66
67
68class E : public A, B, protected C {
69public:
70    int e;
71    int ee;
72
73    E()
74    {
75        e =9;
76        ee=10;
77    }
78    int efoo();
79    int foo();
80
81};
82
83
84class F : A, public B, C {
85public:
86    int f;
87    int ff;
88
89    F()
90    {
91        f =11;
92        ff=12;
93    }
94    int ffoo();
95    int foo();
96
97};
98
99class G : private A, public B, protected C {
100public:
101    int g;
102    int gg;
103    int a;
104    int b;
105    int c;
106
107    G()
108    {
109        g =13;
110        gg =14;
111        a=15;
112        b=16;
113        c=17;
114
115    }
116    int gfoo();
117    int foo();
118
119};
120
121
122
123
124int A::afoo() {
125    return 1;
126}
127
128int B::bfoo() {
129    return 2;
130}
131
132int C::cfoo() {
133    return 3;
134}
135
136int D::dfoo() {
137    return 4;
138}
139
140int E::efoo() {
141    return 5;
142}
143
144int F::ffoo() {
145    return 6;
146}
147
148int G::gfoo() {
149    return 77;
150}
151
152int A::foo()
153{
154    return 7;
155
156}
157
158int B::foo()
159{
160    return 8;
161
162}
163
164int C::foo()
165{
166    return 9;
167
168}
169
170int D::foo()
171{
172    return 10;
173
174}
175
176int E::foo()
177{
178    return 11;
179
180}
181
182int F::foo()
183{
184    return 12;
185
186}
187
188int G::foo()
189{
190    return 13;
191
192}
193
194
195void marker1()
196{
197}
198
199
200int main(void)
201{
202
203    A a_instance;
204    B b_instance;
205    C c_instance;
206    D d_instance;
207    E e_instance;
208    F f_instance;
209    G g_instance;
210
211    #ifdef usestubs
212       set_debug_traps();
213       breakpoint();
214    #endif
215
216
217    marker1(); // marker1-returns-here
218
219    a_instance.a = 20; // marker1-returns-here
220    a_instance.aa = 21;
221    b_instance.b = 22;
222    b_instance.bb = 23;
223    c_instance.c = 24;
224    c_instance.cc = 25;
225    d_instance.d = 26;
226    d_instance.dd = 27;
227    e_instance.e = 28;
228    e_instance.ee =29;
229    f_instance.f =30;
230    f_instance.ff =31;
231
232
233
234
235    return 0;
236
237}
238
239
240
241