是否有可能(在 Delphi 中)重载类中的运算符。
我前段时间读过,它只能用于记录,但我发现对于类的信息也如下面的代码所示:
type
TMyClass = class
class operator Implicit(a: Integer): TMyClass;
end;
class operator TMyClass.Implicit(a: Integer): TMyClass;
begin
// ...
end;
它来自(修改)地址:http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/operatoroverloads_xml.html http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/operatoroverloads_xml.html
但是当我尝试使用它(在 Delphi XE 中)时,我得到:
预期的过程、函数、属性或 VAR (E2123)
类的运算符重载在某些版本的编译器中可用。它可用于 .net 和 iOS 编译器。不支持 Windows 和 Mac。
iOS 编译器可以支持这一点,因为它使用 ARC 管理类实例的生命周期。如果桌面编译器切换到 ARC,那么您可以期待对运算符重载的支持。
Marco 在博客中谈到了这一点:http://blog.marcocantu.com/blog/class_operators_delphi.html http://blog.marcocantu.com/blog/class_operators_delphi.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)