【发布时间】:2011-08-23 09:50:07
【问题描述】:
class Point
{
private int m_PointX;
private int m_PointY;
public Point(int x, int y)
{
m_PointX = x;
m_PointY = y;
}
public static Point operator+(Point point1, Point point2)
{
Point P = new Point();
P.X = point1.X + point2.X;
P.Y = point1.Y + point2.Y;
return P;
}
}
例子:
Point P1 = new Point(10,20);
Point P2 = new Point(30,40)
P1+P2; // operator overloading
- 是否必须始终将运算符重载函数声明为静态?这背后的原因是什么?
- 如果我想重载+来接受像2+P2这样的表达式,该怎么做?
【问题讨论】:
-
原因 #1 就是它的本来面目,所以您可以轻松完成 #2。