第六章 運算符重載

一、運算符重載本質和使用規則

本質

運算符重載是通過函數實現的,它本質上是函數重載。

使用規則

  1. 並不是所有的運算符都可以重載。

    能夠重載的運算符包括:+ - * / % ^ & | ~ ! = < > += -= = /= %= ^= &= |= << >> <<= >>= == != <= >= && || ++ – , -> -> () [] new new[] delete delete[]

    上述運算符中,[]是下標運算符,()是函數調用運算符。自增自減運算符的前置和後置形式都可以重載。長度運算符sizeof、條件運算符: ?、成員選擇符.和域解析運算符::不能被重載。

  1. 重載不能改變運算符的優先級和結合性。

    例如:

     c4 = c1 + c2 * c3;  // 加法運算符重載,c1、c2、c3、c4均是類創建的對象
    

    等價於:

     c4 = c1 + ( c2 * c3 );
    

    乘法的優先級仍然高於加法,並且它們仍然是二元

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章