私の質問は、演算子のオーバーロードでパラメータを含むクラスオブジェクトの1つを持つ必要がある理由です。オペレータのオーバーロードでパラメータの1つが型を含む理由
-5
A
答えて
0
オペランドには特定のクラス/構造体がオーバーロードされています。これは、少なくとも1つのオペランドが同じ型でなければならないことを意味します。つまり、オペランドはパラメータによって定義されます。
オーバーロードされた演算子をどのように使用するか、特に++のような単項演算子を使用する方が簡単です。明らかに、オーバーロードされた++を呼び出すには、それをオーバーロードした型のクラスに適用する必要があります。そうでなければ、オーバーロードされた演算子を呼び出すことをコンパイラがどのように知っていますか?
同様に、バイナリ演算子では、コンパイラは、オーバーロードされた演算子が定義されている場所を知る必要があります。クラスBとCのパラメータを使用してクラスAの+演算子をオーバーロードし、次にBのインスタンスをCのインスタンスに追加しようとすると、コンパイラはAでオーバーロードされた演算子を使用するつもりであると思いますか?クラスBとクラスCでも+演算子がオーバーロードされた場合はどうなりますか?
関連する問題
- 1. オペレータのオーバーロードが異常に動作する理由
- 2. オペレータC++でのオーバーロード
- 3. オペレータDelphiでのオーバーロード
- 4. 複数のパラメータを持つオーバーロード演算子+でconst参照を渡す理由
- 5. オペレータがC++でオーバーロードする
- 6. オペレータのヘルプのオーバーロード?
- 7. エラーは、オペレータのオーバーロード(エラーながら:(オペランドの型は
- 8. オペレータがファイルをオーバーロードする
- 9. オペレータがオペレータの右側にあるオブジェクトでPythonでオーバーロードする
- 10. スワイプダブル/オペレータのオーバーロードの型継承をサブクラス化
- 11. java - 型パラメータを含む型のコンパレータを作成する
- 12. オペレータ= C++で異なるパラメータでオーバーロードしていますか?
- 13. C++のオーバーロード出力オペレータ
- 14. __lt__と印刷オペレータのオーバーロード
- 15. オペレータのオーバーロードと継承
- 16. オーバーロード出力オペレータは
- 17. オブジェクトクラスのオペレータ '+'をオーバーロードできません
- 18. オペレータのオーバーロードとVS2010でのLNK2019のエラー
- 19. オペレータの優先順位C++でのオーバーロード
- 20. "。"を含むパラメータ値を持つGrails UrlMappings
- 21. ブートストラップがスペースを含むカラムを表示する理由
- 22. アンドロイドが異なるIDを持つ1つのレイアウトを含む
- 23. この型のパラメータ構文がコンパイルされない理由は何ですか?
- 24. オーバーロードされたオペレータの検索のパフォーマンス
- 25. const型を含むいくつかのC++コードを理解する&
- 26. パラメータを含むサブクエリ?
- 27. 未知の型の代理人を含む構造体
- 28. オーバーロード<<オペレータの印刷住所
- 29. C++不可解なオペレータのオーバーロード宣言
- 30. オペレータのオーバーロードによるモニタC++
私に正しい答えが見つかりませんでした。その理由は、誰かが答えを持っている場合に私が投稿している理由です。 –
あなたが何を求めているのかわかるように、いくつかのコードを含めてください。 – mjwills