delphi 运算符重载
譬如上面的 record 可以这样声明: type TMyRec = record name: string; age: Word; class operator GreaterThan(a,b: TMyRec): Boolean; end; 还得有方法的实现(遗憾的是有些不能用 Ctrl+Shift+C 自动建立, 那就复制吧): class operator TMyRec.GreaterThan(a,b: TMyRec): Boolean; {注意复制后再加上方法名: "TMyRec."} begin Result := a.age > b.age; end; Delphi for Win32 只支持 record 类型的运算符重载,而 Delphi .NET 还支持 class 类型的运算符重载 下面是Delphi支持的可重载运算符 运算符 类型 声明语法 应用符号 Implicit 转换 Implicit(a: type): resultType; 隐式转换 Explicit 转换 Explicit(a: type): resultType; 显式转换 负 一元运算 Negative(a: type): resultType; - 正 一元运算 Positive(a: type): resultType; + 递增 一元运算 Inc(a: type): resultType