重载运算符是函数重载的一种,
针对类对象进行操作,重载的函数中至少有一个是类对象
int operator +(ass numone, int num){...}
重载为类的成员函数,
单目运算符重载-操作数是访问本身的数据,由this指出
双目运算符重载-左操作数由this指针给出,右操作数由函数参数给出
显示调用-aa.operator(bb);
隐式调用-aa++bb;
重载为友元函数,
针对类对象进行操作,重载的函数中至少有一个是类对象
int operator +(ass numone, int num){...}
重载为类的成员函数,
单目运算符重载-操作数是访问本身的数据,由this指出
双目运算符重载-左操作数由this指针给出,右操作数由函数参数给出
显示调用-aa.operator(bb);
隐式调用-aa++bb;
重载为友元函数,
单目重载运算符时,由于要改变操作数自身的值,应采用引用参数传递
class point { private: int num; public: point() { num = 0; } point(int n) { num = n; } point operator +(point mn); point operator ++(); friend point operator -(point m, point n); friend point operator --(point &m); int get_num(); }; int point::get_num() { return num; } point point::operator +(point mn) { point item; item = num + mn.num; return item; } point point::operator ++() { ++num; return *this; } point operator -(point m, point n) { point temp; temp.num = m.num + n.num; return temp; } point operator --(point &m) { --m.num; return m; }