如何判斷兩個person類相等?手動判斷可以分別來比較屬性,除此之外還可以過載關係運算子==來直接判斷。
分析一下,== 是個雙目運算子,如果使用成員函式來過載,算上呼叫的*this,還需要乙個引數。==返回的是bool資料,所以返回值是bool。
實現
class
person
bool
operator
==(person& p)
return
false;}
};
這個比較容易理解,不再分析。
過載完成,我們來呼叫以下試試:
多次改變p1和p2的屬性,執行一切正常。
C 關係過載運算子
1 c 中定義相等運算子,它們會比較物件的每乙個資料成員,只有當所有對應的成員都相等時才認為兩個物件相等。如下 class person bool operator person p else bool operator person p else public string m name int ...
運算子過載之過載型別運算子
普通型別 類型別 呼叫對應的只有乙個引數 引數的型別就是這個普通型別 的建構函式 需求 boy boy1 10000 薪資 建構函式boy int boy boy2 rock 姓名 建構函式boy char 普通型別賦值給類型別其實很簡單,就是專門的對這個賦值的型別定義乙個建構函式。編譯器在執行 的...
運算子過載 賦值運算子的過載
有時候希望賦值運算子兩邊的型別可以不匹配,比如,把乙個int型別變數賦值給乙個complex物件,或把乙個 char 型別的字串賦值給乙個字串物件,此時就需要過載賦值運算子 注意 賦值運算子 只能過載為成員函式 賦值運算子過載例項示例 include include using namespace ...