1. operator 用於型別轉換函式:
型別轉換函式的特徵:
1) 型轉換函式定義在源類中;
2) 須由 operator 修飾,函式名稱是目標型別名或目標類名;
3) 函式沒有引數,沒有返回值,但是有return
語句,在return語句中返回目標型別資料或呼叫目標類的建構函式。
型別轉換函式主要有兩類:
1) 物件向基本資料型別轉換:
物件向不同類的物件的轉換:
例程1:
//通過型別轉換函式求半徑為5的圓的面積
//並將其儲存在float型變數中列印輸出
2. operator 用於操作符過載:#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()
操作符過載的概念:
將現有操作符與乙個成員函式相關聯
將該操作符與其成員物件(運算元)一起使用。
注意事項:
1) 過載不能改變操作符的基本功能,以及該操作符的優先順序順序。
2) 過載不應改變操作符的本來含義。
3) 只能對已有的操作符進行過載,而不能過載新符號。
4) 操作符過載只對類可用。
5) 以下運算子不能被過載:
. 原點操作符(成員訪問符)
:: 作用域解析符
? : 問號條件運算子
sizeof 運算元的位元組數
操作符函式的一般格式:
例程2:return_type operator op(argument list);
return_type:返回型別(要得到什麼)
op:要過載的操作符
argument list:引數列表(運算元有哪些)
//過載大於號操作符比較兩個人的工資
#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...