運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別。
自定義類的賦值運算子過載函式的作用與內建賦值運算子的作用類似,但是要注意的是,它與複製建構函式與解構函式一樣,要注意深複製淺複製的問題,在沒有深複製淺複製的情況下,如果沒有指定預設的賦值運算子過載函式,那麼系統將會自動提供一個賦值運算子過載函式。
運算子過載,就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別。
自定義類的賦值運算子過載函式的作用與內建賦值運算子的作用類似,但是要注意的是,它與複製建構函式與解構函式一樣,要注意深複製淺複製的問題,在沒有深複製淺複製的情況下,如果沒有指定預設的賦值運算子過載函式,那麼系統將會自動提供一個賦值運算子過載函式。
函式過載的作用是:
1、減少對使用者的複雜性。
2、減少了函式名的數量,避免了名字空間的汙染,有利於程式的可讀性。
函式過載是指在同一作用域內,可以有一組具有相同函式名,不同引數列表的函式,這組函式被稱為過載函式。過載函式通常用來宣告幾組功能相似的同名函式,但這些同名函式的形式引數必須不同,即用同一個運算子完成不同的運算功能。過載函式常用來實現功能類似而所處理的資料型別不同的問題。
過載函式是函式的一種特殊情況,為方便使用,C++允許在同一範圍中宣告幾個功能類似的同名函式,但是這些同名函式的形式引數必須不同,也就是說用同一個運算子完成不同的運算功能。這就是過載函式。過載函式常用來實現功能類似而所處理的資料型別不同的問題。條件如下兩個過載函式必須在下列一個或兩個方面有所區別:
函式有不同引數。函式有不同引數型別,C++的這種程式設計機制給程式設計者極大的方便,不需要為功能相似、引數不同的函式選用不同的函式名,也增強了程式的可讀性。C++運算子過載的相關規定如下:
不能改變運算子的優先順序;不能改變運算子的結合型;預設引數不能和過載的運算子一起使用;不能改變運算子的運算元的個數;不能建立新的運算子,只有已有運算子可以被過載;運算子作用於C++內部提供的資料型別時,原來含義保持不變。