1. 程式人生 > >運算符重載

運算符重載

true logs class light length 矩形 pub static ==

  關鍵字:operator

  運算符重載是一個賦予運算符其他的含義的方法

  能重載的運算符:

    +、—、*、/、%、++、——

    ==、!=、>、<、>=、<=

    &、|、!、~(按位取反)

    賦值運算符不能重載

  對於關系運算符:

    重載關系運算符的時候,必須把配套的另外的一個運算符也重載了

    關系運算的重載方法的返回值為bool

    運算符重載的方法的參數個數不是隨意的

// 通過 == 來判斷兩個矩形的面積是否相同
    public static bool operator ==(Rect r0, Rect r1) {
        double a0 = r0.width * r0.length;
        double a1 = r1.width * r1.length;
        bool result = a0 == a1;
        return result;
    }
    public static bool operator !=(Rect r0, Rect r1) {
        double a0 = r0.width * r0.length;
        double a1 = r1.width * r1.length;
        return a0 != a1;
    }
}

  

運算符重載