主要演示<<,+,[]运算符的重载
这个地方涉及到不同的数据类型~就要讨论一下友元函数重载和成员函数重载的区别~
1、+运算符成员函数方式重载
#include<iostream>
using namespace std;
class Coordinate
{
public:
Coordinate(int x,int y)
{
m_iX=x;
m_iY=y;
}
int getX()
{
return m_iX;
}
int getY()
{
return m_iY;
}
Coordinate operator+(Coordinate &c)//引用是为了效率
{
Coordinate temp(0,0);
temp.m_iX=this->m_iX+c.m_iX;
temp.m_iY=this->m_iY+c.m_iY;
return temp;
}
private:
int m_iX;
int m_iY;
};
int main()
{
Coordinate coor1(1,3);
Coordinate coor2(2,4);
Coordinate coor3(0,0);
coor3=coor1+coor2;
cout<<coor3.getX()<<","<<coor3.getY()<<endl;
system("pause");
return 0;
}
这个使用的是成员函数的方式,与this指针有关~返回的是个暂时的变量
2、+运算符友元函数方式重载
#include<i