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