2016-08-27 5 views
1

Delphi 6でカスタム演算子を追加することはできますか? 例:a:= b myoperator c; とその優先順位を定義しますか? ありがとうデルファイでカスタム演算子を追加するには?

+1

あなたは新しい、別個の演算子**を導入しようとしていますか?それはまったくデルファイでは不可能です。 –

答えて

3

演算子を定義することはできません。加算、減算、乗算など、既存の演算子をオーバーロードすることはできますが、Delphi 2006ではなくDelphi 2006の最新のDelphiバージョンでのみ可能です。

演算子の優先順位を指定することはできません。これは言語仕様で修正されています。たとえ過負荷の演算子であっても、それらの優先順位は組み込み演算子と同じです。

3

デルファイ6では、演算子をすべてオーバーロードすることはできません。ごめんなさい。

オペレータオーバーロードをサポートする新しいバージョンであっても、既存のオペレータをオーバーロードすることができ、オペレータの優先順位を維持します。

これをサポートするほとんどのバージョンでは、これはレコードでのみ可能であることに注意してください。 ARCを使用している新しい(モバイル)コンパイラの一部でのみ、演算子をクラスにオーバーロードすることもできます。

もう一度、新しいオペレータを定義することはできません。

場合によっては、デルファイXE6を意味する場合は、Operator overloading (Delphi)をご覧ください。これは、Delphi 10 Seattleのオペレータオーバーロードを説明していますが、XE6でも同じです。

+0

ところで、D6に[バリアントの演算子オーバーロード](http://docwiki.embarcadero.com/RADStudio/Berlin/en/Implementing_Binary_Operations)がありました。 –

+0

@FreeConsulting:はい、そうかもしれません。私にとって、覚えておくのはずっと前です。しかし、デルファイ5ではないと思います。 –

+0

悪い、ありがとう。 –

関連する問題