home *** CD-ROM | disk | FTP | other *** search
/ C++ for Dummies (3rd Edition) / C_FD.iso / CHAP26 / CHAP26_1.CPP < prev    next >
C/C++ Source or Header  |  1996-09-02  |  708b  |  47 lines

  1. // Chap26_1.cpp
  2. #include <math.h>
  3.  
  4. template <class T>
  5. T max(T& tX1, T& tX2)
  6. {
  7.     T tX = tX1;
  8.     if (tX < tX2)
  9.     {
  10.         tX = tX2;
  11.     }
  12.     return tX;
  13. }
  14.  
  15. // Complex - this is a minimal complex class
  16. class Complex
  17. {
  18.   protected:
  19.     double dReal, dImagine;
  20.  
  21.   public:
  22.     Complex(double dR = 0, double dI = 0)
  23.     {
  24.         dReal = dR;
  25.         dImagine = dI;
  26.     }
  27.  
  28.     double abs()
  29.     {
  30.         return sqrt(dReal * dReal +
  31.                     dImagine * dImagine);
  32.     }
  33. };
  34.  
  35. int operator < (Complex& c1, Complex& c2)
  36. {
  37.     return c1.abs() < c2.abs();
  38. }
  39.  
  40. int main()
  41. {
  42.     Complex c1(2.0);
  43.     Complex c2(1.0);
  44.     Complex c3 = max(c1, c2);
  45.     return 0;
  46. }
  47.