[英]operator Overloading in C#
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的示例
public static Point operator+(int value, Point point2)
{
// logic here.
}
如果您希望P2 + 2
工作,则必须对参数进行另一种方式。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/8edha89s.aspx 。
回答您的问题:
null
进行操作。int
类型前面的两个答案都讨论了您的问题,因此我不会介入这些问题,但这里有一个使用 2+P 的示例:
public static Point operator+(int yourInt, Point point)
{
Point P = new Point();
P.X = point.X + yourInt;
P.Y = point.Y + yourInt;
return P;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.