9.1 运算符重载基础
有2种形式的运算符方法:一种对应一元运算符,一种对应二元运算符。两仲运算符方法的基本形式为:
public static re-type operator op(param-type operand)
{
}
和
public static re-type operator op(param-type1 operand1, param-type1 operand2)
{
}
对于一元运算符,操作数的类型必须与定义该运算符的类的类型相同。对于二元运算符,至少有一个操作数的类型必须写定义该运算符的类的类型相同。
运算符参数一定不能使用ref修饰符或out修饰符。
当重载++或--时,不能区分++(或--)的前置形式或后置形式。
9.3 重载关系运算符
有一个重要的约束条件,必须成对重载。
9.6 转换运算符
转换运算符有两种形式:隐式和显式。其基本形式分别为:
public static operator implicit target-type(source-type v) { return value; }
public static operator explicit target-type(source-type v) { return value; }