是否可能(在Delphi中)重载类中的运算符。 我前段时间读过这篇文章只能用于记录,但我发现的信息类似于以下代码中的类:
type
TMyClass = class
class operator Implicit(a: Integer): TMyClass;
end;
class operator TMyClass.Implicit(a: Integer): TMyClass;
begin
// ...
end;
但是当我尝试使用它时(在Delphi XE中)我得到:
预期的程序,功能,财产或VAR(E2123)
我想为矩阵操作创建自己的简单类,并且在类中使用重载操作符的可能性是非常期待的机会。
Regars, ARTIK
答案 0 :(得分:10)
在某些版本的编译器中可以使用类的运算符重载。它适用于.net和iOS编译器。对于Windows和Mac,不支持。
iOS编译器可以支持此功能,因为它使用ARC管理类实例的生命周期。如果桌面编译器曾经切换到ARC,那么您可以期望支持运算符重载。
Marco在博客中写道:http://blog.marcocantu.com/blog/class_operators_delphi.html