2013-07-31 12 views
6

(Delphiでは)クラス内の演算子のオーバーロードが可能です。 私はいくつかの時間前に読んだ、それはレコードのみ可能ですが、私は情報を発見した、あまりにも以下のコードのようなクラスのために: http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/operatoroverloads_xml.htmlオペレータDelphiでのオーバーロード

しかし:アドレスからそれは(修正)され

type 
    TMyClass = class 
    class operator Implicit(a: Integer): TMyClass; 
    end; 


class operator TMyClass.Implicit(a: Integer): TMyClass; 
begin 
    // ... 
end; 

PROCEDURE、FUNCTION、PROPERTY、またはVAR予想(E2123)

:私は私が得る(デルファイXE内部で)それを使用してみてください

私は、クラスを操作するための独自の単純なクラスを作成したいと思うし、クラス内にオーバーロードされたオペレータを使用する可能性は非常に期待されています。

Regars、クラスのオーバーロード Artik

答えて

10

オペレータは、コンパイラの一部のバージョンで利用可能です。これは、.netとiOSのコンパイラで利用できます。 WindowsとMacの場合はサポートされていません。

iOSコンパイラは、ARCを使用してクラスインスタンスの有効期間を管理するため、これをサポートできます。デスクトップコンパイラがARCに切り替わると、演算子のオーバーロードのサポートが期待できます。

マルコはこのことについてブログに書いています:

+0

http://blog.marcocantu.com/blog/class_operators_delphi.htmlが答えてくれてありがとう – Artik

関連する問題