一.运算符重载原理
1.运算符重载,对运算符做出新的解释。
2.原有的基本语义不发生变化(优先级,结合性,操作数),且不能创建新的运算符。
3.运算符可以重载为友元函数和成员函数,友元函数用于不同类的数据类型相加。
二.重载实例
1.输入输出流的重载
输入输出重载需要定义为友元,并且引用流返回流。
#include<iostream>
class fushu
{
public:
int x=0;
int y=0;
fushu(int a,int b):x(a),y(b)
{
}
~fushu()
{
}
friend std::istream &operator >>(std::istream &in, fushu &myfushu);
/*{
std::cout << "myfushu.x=";
in >> myfushu.x;
std::cout << "myfushu.y=";
in>> myfushu.y;
return in;
}*/
friend std::ostream &operator <<(std::ostream &out,fushu &myfushu)
{
out << myfushu.x<<'+'<<myfushu.y<<'i'<<std::endl;
return out;
}
void show()
{
std::cout << x << '+' << y << 'i' <&