12 5 5關係運算子過載

2021-10-07 21:45:03 字數 523 閱讀 6046

如何判斷兩個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 ...