1 // { dg-do assemble } 2 // Origin: Benjamin Kosnik <bkoz@cygnus.com> 3 4 class b 5 { 6 int j; 7 public: j(a)8 b(int a = 6): j(a) {} imbue(int a)9 void imbue(int a) {++j;} 10 }; 11 12 class d: public b 13 { 14 int k; 15 public: b(a)16 d(int a = 7): b(a), k(a) {} imbue(int a)17 void imbue(int a) {++k;} 18 }; 19 20 //virtual public kills, public ok 21 class mostd: virtual public d 22 { 23 int l; 24 public: d(a)25 mostd(int a = 9): d(a), l(a) {} 26 }; 27 main()28int main() { 29 30 d dobj; 31 dobj.imbue(5); 32 33 mostd mobj; 34 mobj.imbue(5); 35 36 return 0; 37 } 38