| class A { |
| public: |
| int a; |
| int aa; |
| |
| A() |
| { |
| a=1; |
| aa=2; |
| } |
| int afoo(); |
| int foo(); |
| |
| }; |
| |
| |
| |
| class B { |
| public: |
| int b; |
| int bb; |
| |
| B() |
| { |
| b=3; |
| bb=4; |
| } |
| int bfoo(); |
| int foo(); |
| |
| }; |
| |
| |
| |
| class C { |
| public: |
| int c; |
| int cc; |
| |
| C() |
| { |
| c=5; |
| cc=6; |
| } |
| int cfoo(); |
| int foo(); |
| |
| }; |
| |
| |
| |
| class D : private A, public B, protected C { |
| public: |
| int d; |
| int dd; |
| |
| D() |
| { |
| d =7; |
| dd=8; |
| } |
| int dfoo(); |
| int foo(); |
| |
| }; |
| |
| |
| class E : public A, B, protected C { |
| public: |
| int e; |
| int ee; |
| |
| E() |
| { |
| e =9; |
| ee=10; |
| } |
| int efoo(); |
| int foo(); |
| |
| }; |
| |
| |
| class F : A, public B, C { |
| public: |
| int f; |
| int ff; |
| |
| F() |
| { |
| f =11; |
| ff=12; |
| } |
| int ffoo(); |
| int foo(); |
| |
| }; |
| |
| class G : private A, public B, protected C { |
| public: |
| int g; |
| int gg; |
| int a; |
| int b; |
| int c; |
| |
| G() |
| { |
| g =13; |
| gg =14; |
| a=15; |
| b=16; |
| c=17; |
| |
| } |
| int gfoo(); |
| int foo(); |
| |
| }; |
| |
| |
| |
| |
| int A::afoo() { |
| return 1; |
| } |
| |
| int B::bfoo() { |
| return 2; |
| } |
| |
| int C::cfoo() { |
| return 3; |
| } |
| |
| int D::dfoo() { |
| return 4; |
| } |
| |
| int E::efoo() { |
| return 5; |
| } |
| |
| int F::ffoo() { |
| return 6; |
| } |
| |
| int G::gfoo() { |
| return 77; |
| } |
| |
| int A::foo() |
| { |
| return 7; |
| |
| } |
| |
| int B::foo() |
| { |
| return 8; |
| |
| } |
| |
| int C::foo() |
| { |
| return 9; |
| |
| } |
| |
| int D::foo() |
| { |
| return 10; |
| |
| } |
| |
| int E::foo() |
| { |
| return 11; |
| |
| } |
| |
| int F::foo() |
| { |
| return 12; |
| |
| } |
| |
| int G::foo() |
| { |
| return 13; |
| |
| } |
| |
| |
| void marker1() |
| { |
| } |
| |
| |
| int main(void) |
| { |
| |
| A a_instance; |
| B b_instance; |
| C c_instance; |
| D d_instance; |
| E e_instance; |
| F f_instance; |
| G g_instance; |
| |
| #ifdef usestubs |
| set_debug_traps(); |
| breakpoint(); |
| #endif |
| |
| |
| marker1(); // marker1-returns-here |
| |
| a_instance.a = 20; // marker1-returns-here |
| a_instance.aa = 21; |
| b_instance.b = 22; |
| b_instance.bb = 23; |
| c_instance.c = 24; |
| c_instance.cc = 25; |
| d_instance.d = 26; |
| d_instance.dd = 27; |
| e_instance.e = 28; |
| e_instance.ee =29; |
| f_instance.f =30; |
| f_instance.ff =31; |
| |
| |
| |
| |
| return 0; |
| |
| } |
| |
| |
| |