1 // prms-id: 4623 2 3 class base { 4 public: 5 int b_data; 6 base( int i=0 ) { b_data = i; } b_print()7 void b_print() { } 8 }; 9 10 class base1: virtual public base { 11 public: 12 int b1_data; 13 base1( int i = 0 ) { b1_data = i; b_data++; } b1_print()14 void b1_print() { } 15 }; 16 17 class base2: virtual public base { 18 public: 19 int b2_data; 20 base2( int i = 0 ) { b2_data = i; b_data++; } b2_print()21 void b2_print() { } 22 }; 23 24 class base3: public base {}; 25 26 class derived: public base3, public base1, public base2 { 27 public: 28 int d_data; derived(int i)29 derived( int i ) { d_data = i; ((base3 *)this)->b_data++; } d_print()30 void d_print() { } 31 }; 32 main()33int main() { 34 derived d(1); d.d_print(); return 0; 35 } 36