C 關鍵字operator用法

2021-07-13 12:04:48 字數 1445 閱讀 2870

1. operator 用於型別轉換函式:

型別轉換函式的特徵:

1) 型轉換函式定義在源類中;

2) 須由 operator 修飾,函式名稱是目標型別名或目標類名;

3) 函式沒有引數,沒有返回值,但是有return

語句,在return語句中返回目標型別資料或呼叫目標類的建構函式。

型別轉換函式主要有兩類:

1) 物件向基本資料型別轉換:

物件向不同類的物件的轉換:

例程1:

//通過型別轉換函式求半徑為5的圓的面積

//並將其儲存在float型變數中列印輸出

#i nclude using

namespace

std;

class carea

carea(float a) //過載含有乙個引數的建構函式

void getarea()

operator

float() //型別轉換函式

};class ccircle

operator carea() //型別轉換函式

};void main()

;complex::complex()

complex::complex(double dreal,double dimag)

complex::operator

double()

int main()

2. operator 用於操作符過載:

操作符過載的概念:

將現有操作符與乙個成員函式相關聯

將該操作符與其成員物件(運算元)一起使用。

注意事項:

1) 過載不能改變操作符的基本功能,以及該操作符的優先順序順序。

2) 過載不應改變操作符的本來含義。

3) 只能對已有的操作符進行過載,而不能過載新符號。

4) 操作符過載只對類可用。

5) 以下運算子不能被過載:

. 原點操作符(成員訪問符)

:: 作用域解析符

? : 問號條件運算子

sizeof 運算元的位元組數

操作符函式的一般格式:

return_type operator op(argument list);

return_type:返回型別(要得到什麼)

op:要過載的操作符

argument list:引數列表(運算元有哪些)

例程2:

//過載大於號操作符比較兩個人的工資

#i nclude using

namespace

std;

class employee

void getsalary()

};void main()

}

C 中的operator關鍵字

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

C 學習筆記 operator關鍵字

使用operator關鍵字來過載內建運算子,或提供類或結構宣告中的使用者定義轉換。下面是分數的乙個極其簡化的類。該類過載了 和 運算子,以執行分數加法和乘法 同時提供了將 fraction 型別轉換為 double 型別的轉換運算子。cs keyword operator.cs using syst...

關鍵字的用法 C 中const關鍵字用法總結

ark2000 看完了c primer的基礎篇,對const還是有點陌生,在這裡小小地總結一下吧。在變數的定義前加上const修飾符即可完成const物件的建立。const int val 5 const變數的值不能改變。val 5 error assignment of read only var...