operator運算子過載

2021-07-05 18:43:20 字數 920 閱讀 4025

運算子過載

一、作為類成員函式的過載

為了能進行類物件和乙個整型值的加法運算,需要寫乙個類的成員函式來過載雙目加法(+)運算子。該函式在類中的宣告如下:

date operator + (int) const;

函式的宣告指出,返回值是乙個date類物件,函式名是運算子+,只有乙個整型引數,而且函式是常量型的。當編譯器發現某個函式以加上字首operator的真實運算子作為函式名,就會把該函式當作過載運算子函式來處理。如果在表示式中,該運算子的左邊是乙個類物件,右邊是乙個引數型別的乙個物件,那麼過載運算子函式就會被呼叫。呼叫形式如下:

date dt(6,9,2005);

dt=dt+100;

也可以顯式的呼叫過載運算子函式:

dt.operator + (100);

下面**過載了雙目加法運算子來計算乙個整數和乙個date類物件之和,並且返回date類物件。

#include iostream.h

class date

void display() const

;int date::dys=;

date date::operator+(int) const

}dt.da=n;

return dt;

}int main()

int operator != (date& dt)

四、其他賦值運算子

#include iostream.h

class date

void display() const

};int date::dys=;

date date::operator+(int) const

}dt.da=n;

return dt;

}int main()

(完)

運算子的過載 operator

一 運算子的過載 運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別 在複雜資料型別中,編譯器不能識別運算子,如c 中,物件 物件,編譯器無法知道怎麼運算,所以就需要編寫函式,實現相應功能。不能過載的 運算子五個 szieof 二 自增運算子過載的實現 a a 1.類...

C 運算子過載 operator

您可以重定義或過載大部分 c 內建的運算子。這樣,您就能使用自定義型別的運算子。過載的運算子是帶有特殊名稱的函式,函式名是由關鍵字 operator 和其後要過載的運算子符號構成的。與其他函式一樣,過載運算子有乙個返回型別和乙個引數列表。box operator const box 宣告加法運算子用...

operator過載運算子

c 已經為基本型別和標註庫中的資料型別提供了運算子操作,我們自定義資料型別的話有時就需要過載運算子實現自定義函式來實現類似功能了,此時可以把operator operator operator 等操作符整體看作乙個函式名。一 單目運算子 以 為例 1 過載為類的成員函式 假設obj表示物件,func...