// operator overloading syntax #include class integer { int i; public: integer(int I) {i = I;} const integer operator+(const integer& rv) const { cout << "operator+, "; return integer(i + rv.i); } integer& operator+=(const integer& rv) { cout << "operator+=" << endl; i += rv.i; return *this; } }; main( ) { cout << "built-in types (for 'ints'): +, +=" << endl; int i = 1, j = 2, k = 3; k += i + j; cout << endl; cout << "user-defined types (for 'integers'): "; integer I(1), J(2), K(3); K += I + J; getchar(); }