C 學習(四) 自動轉換 過載運算子

2021-09-25 08:10:41 字數 541 閱讀 4979

自定義轉換:為自己的結構或者類定義顯式和隱式轉換。

隱式轉換語法:

public static implicit operator dog(cat cat)//本質上是實現乙個靜態的方法,隱式轉換關鍵字使用implicit,使用operator關鍵字標明這是一種轉換操作,這裡的dog本質上是函式名,但實際上並不是函式名,實際上是返回的型別

顯式轉換語法:

public static explicit operator dog(cat cat)//explicit是顯式轉換的關鍵字

過載運算子:利用現有的某種運算子,針對自定義類或者結構,定義某種運算操作。語法如下:

public static dog operator + (dog male, dog female)//+表示過載加法運算

C 過載運算子

運算子過載是一種形式的c 多型。在c 中,編譯器有能力把乙個由資料 物件和操作符共同組成的表示式,解釋為對乙個全域性或成員函式的呼叫。該全域性或成員函式被稱為操作符函式,通過重定義操作符函式,可以實現針對自定義型別 結構,類 的運算法則,並使之與內建型別一樣參與各種表示式。過載運算子可使 看起來更加...

C 過載運算子

本文主要講述加號運算子 自增運算子 流提取運算子運 流插入運算子 先給出vector類 class vector 建構函式 vector const vector v 拷貝建構函式 vector operator const vector v 過載 vector operator 過載前置自增運算子...

C 過載運算子

過載的運算子是帶有特殊名稱的函式,函式名是由關鍵字 operator 和其後要過載的運算子符號構成的。與其他函式一樣,過載運算子有乙個返回型別和乙個引數列表。如果我們定義的函式為類的成員函式 box operator const box 如果我們定義的函式為非成員函式,那麼我們需要為每次操作傳遞兩個...