2010年8月30日

クラス、レコードのオーバロード演算子

Delphi 2006以降ではclass/recordに対して演算子のオーバロードが可能になりました。オーバロード演算子の一覧は

Operator Overloading - RAD Studio
演算子のオーバーロード - RAD Studio (日本語)

にあるのですが、Jeroen Wiert Pluimersさん

Delphi operator overloading: table of operators, names, and some notes on usage and ‘glitches’ « The Wiert Corner – Jeroen Pluimers’ irregular stream of Wiert stuff

によると、BitwiseNotは存在しません(QC21927QC52318)。また過去のドキュメントではLeftShift/RightShiftがShiftLeft/ShiftRightとなっていたようですが、これは現在は修正されています。

普通はレコード型に対して演算子のオーバロードを実装することになると思いますが、Demos\DelphiWin32\VCLWin32\ComplexNumbersあたり(Delphi 2007の場合)にあるVassbotn.Vcl.Complex.TComplexが非常に参考になります。

0 件のコメント: