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は存在しません(QC21927、QC52318)。また過去のドキュメントではLeftShift/RightShiftがShiftLeft/ShiftRightとなっていたようですが、これは現在は修正されています。
普通はレコード型に対して演算子のオーバロードを実装することになると思いますが、Demos\DelphiWin32\VCLWin32\ComplexNumbersあたり(Delphi 2007の場合)にあるVassbotn.Vcl.Complex.TComplexが非常に参考になります。
0 件のコメント:
コメントを投稿