10

ここで適切な言葉を使用していない可能性があるため、自分で答えを見つけることができない可能性があります。クラスに + & - 演算子がありますが、負の演算子を追加したいです...基本的にこれを行うにはどうすればよいですか:

myMethod(myClass, -myClass);

コード例が必要な場合はお知らせください。ただし、これはかなり難しいと思います...または、実行できない.

4

2 に答える 2

28

確かに、単項-演算子はオーバーロード可能です:

public static MyClass operator -(MyClass myClass)
{
    ...
}

消費者はこれらの演算子のセマンティクスを認識していない可能性があるため、これらの機能を悪用しないように注意してください。メソッド (適切な名前が付けられる可能性があります) とは異なり、型のカスタム演算子が何をするかがすぐにはわからないことがよくあります。うまくいけば、あなたのクラスは何らかの種類のベクトルを表しているでしょうか?

于 2013-02-11T17:43:21.173 に答える
5
public static YourClass operator -(YourClass value)
{
}
于 2013-02-11T17:46:51.793 に答える