[C ++] implements Operator overloading.
// Implement Operator Overloading # include <iostream> using namespace std; class Int {public: Int (int I = 0): m (I) {cout <"constructed function" <endl ;}~ Int () {cout <"destructor" <endl;} public: Int operator + (const Int & d); Int operator-(const Int & d ); int operator * (const Int & d); Int operator/(const Int & d); Int operator | (const Int & d); Int operator & (const Int & d ); int operator ^ (const Int & d); Int operator ~ (); Int operator ++ (int); Int operator -- (int); void print (); private: int m ;}; Int: operator + (const Int & d) {return Int (m + d. m);} Int: operator-(const Int & d) {return Int (m-d. m);} Int: operator * (const Int & d) {return Int (m * d. m);} Int: operator/(const Int & d) {return Int (m/d. m);} Int: operator | (const Int & d) {return Int (m | d. m);} Int: operator & (const Int & d) {return Int (m & d. m);} Int: operator ^ (const Int & d) {return Int (m ^ d. m);} Int: operator ~ () {Return Int (~ M);} Int: operator ++ () {return Int (++ m);} // post ++ Int: operator ++ (int) {return Int (m ++);} Int: operator -- () {return Int (-- m);} // post -- Int int Int: operator -- (Int) {return Int (m --);} void Int: print () {cout <m <endl;} int main () {Int I (2 ); I = I + 1; I. print (); I = I-1; I. print (); Int a, B (3), c (1); a = B + c;. print (); a = B-c;. print (); a = B * c;. print (); a = B/c;. print (); a = B | c;. print (); a = B & C; a. print (); a = B ^ c; a. print (); a = ~ B;. print (); a = ++ B;. print (); // 4b. print (); // 4a = B ++;. print (); // 4b. print (); // 5a = -- B;. print (); // 4b. print (); // 4a = B --;. print (); // 4b. print (); // 3 return 0;} // Operator Overloading # include <iostream> using namespace std; class Int {public: Int (int I = 0 ): m (I) {cout <"constructed function" <endl ;}~ Int () {cout <"destructor" <endl;} public: Int operator + (const Int & d); Int operator-(const Int & d ); int operator * (const Int & d); Int operator/(const Int & d); Int operator | (const Int & d); Int operator & (const Int & d ); int operator ^ (const Int & d); Int operator ~ (); Int operator ++ (int); Int operator -- (int); void print (); private: int m ;}; Int: operator + (const Int & d) {return Int (m + d. m);} Int: operator-(const Int & d) {return Int (m-d. m);} Int: operator * (const Int & d) {return Int (m * d. m);} Int: operator/(const Int & d) {return Int (m/d. m);} Int: operator | (const Int & d) {return Int (m | d. m);} Int: operator & (const Int & d) {return Int (m & d. m);} Int: operator ^ (const Int & d) {return Int (m ^ d. m);} Int: operator ~ () {Return Int (~ M);} Int: operator ++ () {return Int (++ m);} // post ++ Int: operator ++ (int) {return Int (m ++);} Int: operator -- () {return Int (-- m);} // post -- Int int Int: operator -- (Int) {return Int (m --);} void Int: print () {cout <m <endl;} int main () {Int I (2 ); I = I + 1; I. print (); I = I-1; I. print (); Int a, B (3), c (1); a = B + c;. print (); a = B-c;. print (); a = B * c;. print (); a = B/c;. print (); a = B | c;. print (); a = B & C; a. print (); a = B ^ c; a. print (); a = ~ B;. print (); a = ++ B;. print (); // 4b. print (); // 4a = B ++;. print (); // 4b. print (); // 5a = -- B;. print (); // 4b. print (); // 4a = B --;. print (); // 4b. print (); // 3 return 0;}