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()27 int 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