home *** CD-ROM | disk | FTP | other *** search
- #include <stream.hpp>
-
- // test level 2 conversions
- // the constructor gives an implicit conversion from double to complex
-
- class complex {
- double r,i;
- public:
- complex (double re= 0.0, double im=0.0) { r=re; i=im; }
- };
-
- overload foo;
-
- void foo (int x)
- {
- cout << "foo(int)\n";
- }
-
-
- void foo (double d)
- {
- cout << "foo(double)\n";
- }
-
-
- void foo (complex c)
- {
- cout << "foo(complex)\n";
- }
-
-
- main()
- {
- int i;
- long l;
- float f;
- double d;
- complex c;
-
- foo (i);
- foo (l);
- // Guidelines gives error: bad argument list. No code generated.
- // Zortech gave no warnings, and converted to double.
- foo (f);
- foo (d);
- foo (c);
- }
-