] > Overloading Operators

12.6 Overloading Operators

#include <iostream> 
using namespace std; 
 
class even { 
    public
  int a; 
  even( int v ) { 
      a = v / 2  2; 
  } 
  even  operator/  ( even y ) 
  { 
      return even(a / y.a); 
  } 
  even  operator/= ( even y ) 
  { 
      a = a / y.a / 2  2;  return this
  } 
  even  operator++ ( ) 
  { 
      a += 2; 
      even temp(a); 
      return temp; 
  } 
  even  operator++ ( int x ) 
  { 
      even temp(a); 
      a += 2; 
      return temp; 
  } 
}
ostream& operator<< ( ostream& x , even y) 
{ 
    x << y.a;  return x; 
} 
main () 
{ 
    even n = even(2400), m = even(8); 
    cout << n / m / even(19) << endl; 
    n /= 5 ; 
    cout << n++ << endl; 
    cout << n << endl; 
    cout << ++n << endl; 
}
16  
600  
602  
604

[ovrld.cpp]