參考《c++ primer plus 》 p381,運算子過載定義乙個表示時間的 time() 類,有成員變數 hours 和 minutes ,如果需要將 time() 的兩個例項表示的時間(如2小時40分鐘 加上 1 小時30分鐘)相加, 可以定義成員函式 sum() ,還可以過載 + 加法運算子 。
//標頭檔案 mytime.h
class
time
//類定義檔案
#include
#include
"mytime.h"
time::
time()
time::
time
(int h,
int m)
time time::
sum(
const time &t)
const
只需要將 sum() 的名稱改為operator +() 即可,只要把運算子放到operator後面。
//標頭檔案 mytime.h
class
time
time time::
operator+(
const time &t)
const
C 運算子過載 operator
您可以重定義或過載大部分 c 內建的運算子。這樣,您就能使用自定義型別的運算子。過載的運算子是帶有特殊名稱的函式,函式名是由關鍵字 operator 和其後要過載的運算子符號構成的。與其他函式一樣,過載運算子有乙個返回型別和乙個引數列表。box operator const box 宣告加法運算子用...
operator運算子過載
運算子過載 一 作為類成員函式的過載 為了能進行類物件和乙個整型值的加法運算,需要寫乙個類的成員函式來過載雙目加法 運算子。該函式在類中的宣告如下 date operator int const 函式的宣告指出,返回值是乙個date類物件,函式名是運算子 只有乙個整型引數,而且函式是常量型的。當編譯...
運算子的過載 operator
一 運算子的過載 運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別 在複雜資料型別中,編譯器不能識別運算子,如c 中,物件 物件,編譯器無法知道怎麼運算,所以就需要編寫函式,實現相應功能。不能過載的 運算子五個 szieof 二 自增運算子過載的實現 a a 1.類...