C 學習筆記 operator關鍵字

2021-08-06 08:25:06 字數 611 閱讀 2996

使用operator關鍵字來過載內建運算子,或提供類或結構宣告中的使用者定義轉換。

下面是分數的乙個極其簡化的類。該類過載了 + 和 * 運算子,以執行分數加法和乘法;同時提供了將 fraction 型別轉換為 double 型別的轉換運算子。

// cs_keyword_operator.cs

using system;

class fraction

// overload operator +

public static fraction operator +(fraction a, fraction b)

// overload operator *

public static fraction operator *(fraction a, fraction b)

// user-defined conversion from fraction to double

public static implicit operator double(fraction f)

}class test

}

輸出

0.880952380952381

C 關鍵字operator用法

1 operator 用於型別轉換函式 型別轉換函式的特徵 1 型轉換函式定義在源類中 2 須由 operator 修飾,函式名稱是目標型別名或目標類名 3 函式沒有引數,沒有返回值,但是有return 語句,在return語句中返回目標型別資料或呼叫目標類的建構函式。型別轉換函式主要有兩類 1 物...

C 中的operator關鍵字

operator是c 中的關鍵字,它和運算子一起使用,表示乙個運算子函式,理解時應將operator 整體上視為乙個函式名.這是c 擴充套件運算子功能的方法,雖然樣子古怪,但也可以理解 一方面要是運算子的使用方法與原來的一致,另一方面擴充套件功能只能通過函式的方式 c 中,功能都是由函式是實現的 一...

c 學習記錄 operator 過載

effective c 的確是一本神書,閱讀起來的感覺可以用酣暢淋漓來形容,似乎很多以前沒有在意的小細節都變得豁然開朗了起來,在條款10中,scott建議我們過載操作符 時,返回乙個 this的引用。賦值,我們往往可以寫作連鎖形式 int x,y,z x y z 10 賦值採用了右結合律,所以以上連...