1extern "C" int printf (const char *, ...); 2template <class T> T max (const T&x, const T&y) 3{ 4 return (x>y)?x:y; 5} 6int min (const float&, const float&); 7int min (const int& i1, const int& i2) { 8 return (i1 < i2) ? i1 : i2; 9} 10 11class complex 12{ 13 double re, im; 14 public: 15 complex (double r, double i=0) { re = r; im = i; } 16 friend int operator > (const complex& x, const complex &y) { return 0; } 17 void print () { } 18}; 19 20int main () 21{ 22 complex c1 (1, 0); 23 complex c2 (2, 0); 24 25 int j = max (1, 37); 26 complex m1 = max (c1, c2); 27 m1.print (); 28 printf ("j=%d\n", j); 29 return 0; 30} 31