1 // Special g++ Options: 2 3 #include <iostream> 4 5 class foo { 6 public: foo(int i)7 foo(int i) {k = i;} 8 protected: 9 int k; 10 }; 11 12 class bar_1 : public foo { 13 public: bar_1(int i)14 bar_1(int i) : foo(i) {} get_k()15 int get_k() {return k;} 16 }; 17 18 class bar_2 : public foo { 19 public: bar_2(int i)20 bar_2(int i) : foo(i) {}; get_k()21 int get_k() {return k;} 22 }; 23 24 class multiple : public bar_1, public bar_2 { 25 public: multiple(int i1,int i2)26 multiple(int i1, int i2) : bar_1(i1), bar_2(i2) {} print()27 void print() { 28 std::cout << "bar_1::k -> " << bar_1::k << "\n"; 29 std::cout << "bar_2::k -> " << bar_2::k << "\n"; 30 std::cout << "bar_1::get_k() -> " << bar_1::get_k() << "\n"; 31 std::cout << "bar_2::get_k() -> " << bar_2::get_k() << "\n"; 32 } 33 }; 34 main()35int main() { 36 multiple m(1,2); 37 m.print(); 38 } 39 40 41