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