C++を勉強中のものです。
C++11での比較演算子のオーバーロードについての質問です。
内容としては、
・私の演算子のオーバーロードの認識が間違っていないかの確認
・オーバーロードのスコープ内でオーバーロードしない比較演算子の使い方
を知りたいです。
まず私の認識ですが、
C++
1//ファイル1 2 3bool operator >( const aaa& b ) { //>演算子をオーバーロード 4..... //処理 5return; 6} 7a > b //①
C++
1///ファイル3 ファイル1をincludeしない 2if(a > b) { //② 3 return bool; 4}
C++
1//ファイル2 2#include "ファイル1" 3if(int c > int d)//③
演算子のオーバーロードをすると①と②が同じ処理になるという認識です。
オーバーロードのスコープ内でオーバーロードしない方法ですが、
比較演算子(>、<)のオーバーロードされているスコープ内で
普通の③の処理を行いたいです。
私の演算子のオーバーロードの理解が浅いための質問だということはわかっております。
どなたかご教示願います。
全てで1つのブロックとして捉えるべきなのか3つ、4つは別な部分を表しているのか(特に①がくっついているので連続でない場合は分けてほしいです)。 と、「if(enum c > int d)」の書き方は出来ないと思いますが、その型が来た場合という疑似コードでしょうか。
回答2件
あなたの回答
tips
プレビュー