/*
運算子過載
就是對已有的運算子(c ++中預定義的運算子)賦予多重的含義,
是同乙個運算子作用與不同型別的資料是導致不同型別的行為
實質:函式過載
1 可以過載為普通函式也可以過載為成員函式
2 把含運算子的表示式轉換成對運算子函式的呼叫
3 把運算子的運算元轉換 成 運算子函式的引數
4 運算子被多次過載時,根據實參的型別決定呼叫哪個運算子函式
目的:擴充套件c++中提供的運算子的適用範圍,使之能作用於物件。
同一運算子,對不同型別的運算元,所發生的行為不同
格式:返回型別 operator 運算子(參數列) */
#if 0
#include
using namespace std;
class complex
complex operator-( const complex & c );
};complex operator+( const complex & a , const complex & b )
complex complex::operator-( const complex & c )
//過載為成員函式時,引數個數為運算子數目減一
//過載為普通函式時,引數個數為運算子個數
int main()
#endif
運算子類過載
類過載格式 函式型別 operator 運算子名稱 形參表 型引數 使用引數 1 使用 號實現複數相加 不使用類過載 include using namespace std class complex complex double r,double i complex complex add com...
運算子過載 類的賦值運算子過載
下面介紹類的賦值運算子 1.c 中物件的記憶體分配方式 在c 中,物件的例項在編譯的時候,就需要為其分配記憶體大小,因此,系統都是在stack上為其分配記憶體的。這一點和c 完全不同!千 萬記住 在c 中,所有類都是reference type,要建立類的實體,必須通過new在heap上為其分配空間...
c 運算子過載string類
一 運算子過載的規則 運算子過載規則如下 c 中的運算子除了少數幾個之外,全部可以過載,而且只能過載c 中已有的運算子。過載之後運算子的優先順序和結合性都不會改變。運算子過載是針對新型別資料的實際需要,對原有運算子進行適當的改造。一般來說,過載的功能應當與原有功能相類似,不能改變原運算子的操作物件個...