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;
}
}
Ejemplo:sobrecarga de operadores en C#
Point P1 = new Point(10,20);
Point P2 = new Point(30,40)
P1+P2; // operator overloading
- ¿Hay que declarar siempre la función de la sobrecarga de operadores como estática? Cuál es la razón detrás de esto?
- Si quiero sobrecargar + para aceptar la expresión como 2 + P2, ¿cómo puedo hacer esto?
La razón # 1 es la forma en que se encuentra, por lo que puede lograr fácilmente # 2. –