1*c87b03e5Sespie // GROUPS passed overloading 2*c87b03e5Sespie extern "C" int printf (const char *, ...); 3*c87b03e5Sespie 4*c87b03e5Sespie struct NoName { 5*c87b03e5Sespie 6*c87b03e5Sespie int first; 7*c87b03e5Sespie int second; 8*c87b03e5Sespie }; 9*c87b03e5Sespie 10*c87b03e5Sespie class Casted { 11*c87b03e5Sespie 12*c87b03e5Sespie public: 13*c87b03e5Sespie 14*c87b03e5Sespie NoName x; 15*c87b03e5Sespie double y; 16*c87b03e5Sespie Casted(int _x,double _y)17*c87b03e5Sespie Casted ( int _x , double _y ): y(_y) 18*c87b03e5Sespie { 19*c87b03e5Sespie x.first = _x; 20*c87b03e5Sespie x.second = _x*2; 21*c87b03e5Sespie } 22*c87b03e5Sespie NoName()23*c87b03e5Sespie operator NoName() const { return x; } 24*c87b03e5Sespie operator double() const { return y; } 25*c87b03e5Sespie }; 26*c87b03e5Sespie main()27*c87b03e5Sespieint main() 28*c87b03e5Sespie { 29*c87b03e5Sespie Casted c(10,12.34); 30*c87b03e5Sespie 31*c87b03e5Sespie NoName x; 32*c87b03e5Sespie double y; 33*c87b03e5Sespie 34*c87b03e5Sespie x = c; 35*c87b03e5Sespie y = c; 36*c87b03e5Sespie 37*c87b03e5Sespie if (x.first == 10 && x.second == 20 && y == 12.34) 38*c87b03e5Sespie printf ("PASS\n"); 39*c87b03e5Sespie else 40*c87b03e5Sespie { printf ("FAIL\n"); return 1; } 41*c87b03e5Sespie } 42