【发布时间】:2010-10-21 04:56:37
【问题描述】:
当你重载 - 一元运算符时,对于不可变类型,你可以这样写:
public static Point3 operator - (Point3 p)
{
return new Point3 (-p.X, -p.Y, -p.Z);
}
但是对于+一元运算符,你应该如何实现呢?像这样:
public static Point3 operator + (Point3 p)
{
return p;
}
或者像这样:
public static Point3 operator + (Point3 p)
{
return new Point3 (p);
}
【问题讨论】:
-
在第二个例子中,你的意思是运算符+,而不是-?
-
是的,很抱歉错过了。
-
为了正确起见,'this' 不会存在于您的静态方法中。我认为您的意思是在重载中写“-p.X,-p.Y,-p.Z”。