C++运算符重载函数【在类中实现】
1、1.单目运算符重载
2.双目运算符重载
<1>友元函数实现:
例如:
friend Operator& operator--(Operator &o1)
{//前减减
o1.number-=100;
return o1;
}
<2>成员函数实现:
例如:
Operator& operator++()
{//前加加运算符
number+=1000;
return *this;
}
2、3.<<与>>运算符重载(固定格式)
例如:
friend ostream & operator<<(ostream &os,const Operator &o)
{//固定格式
os<<o.name<<'\t'<<o.number<<endl;
return os;
}
friend istream & operator >>(istream &is, Operator &o)
{//固定格式
is>>o.name>>o.number;
return is;
}
3、4.后++与后--运算符重载
例如:
Operator operator++(int)
{//后加加运算符
Operator temp=*this;
number+=1000;
return temp;
}
friend Operator operator--(Operator &o1,int)
{//后减减
Operator temp=o1;
o1.number-=100;
return temp;
}
4、5.类型转换运算符重载函数
例如:
operator int()
{//类型转换的运算符重载没有返回类型
return number;
}