C 運算子過載總結

2021-07-28 03:34:48 字數 1065 閱讀 4405

c++的一大特性就是過載(overload),通過過載可以把功能相似的幾個函式合為乙個,使得程式更加簡潔、高效。在c++中不止函式可以過載,運算子也可以過載。由於一般資料型別間的運算子沒有過載的必要,所以運算子過載主要是物件導向之間的。

在進行物件之間的運算時,程式會呼叫與運算子相對應的函式進行處理,所以運算子過載有兩種方式:成員函式和友元函式。成員函式的形式比較簡單,就是在類裡面定義了乙個與操作符相關的函式。友元函式因為沒有this指標,所以形參會多乙個。

class a

a operator+(a&);//成員函式

a operator-(a&);

a operator*(a&);

a operator/(a&);

a operator%(a&);

friend a operator+(a&,a&);//友元函式

friend a operator-(a&,a&);

friend a operator*(a&,a&);

friend a operator/(a&,a&);

friend a operator%(a&,a&);

private:

int data;

};//成員函式的形式

a a::operator+(a &a)

a a::operator-(a &a)

a a::operator*(a &a)

a a::operator/(a &a)

a a::operator%(a &a)

//友元函式的形式

a operator+(a &a1,a &a2)

a operator-(a &a1,a &a2)

a operator*(a &a1,a &a2)

a operator/(a &a1,a &a2)

a operator%(a &a1,a &a2)

//然後我們就可以對類的物件進行+、-、*、/了。

void main(void)

【注意:在進行a2+a3的時候會出錯,因為我們在上面對+定義了兩種方法,去掉一種即可。】

c 運算子過載總結

目錄 1.一般運算子過載 2.關係運算子過載 3.邏輯運算子過載 4.單目運算子過載 5.自增減運算子過載 6.位運算子過載 7.賦值運算子過載 8.記憶體運算子過載 9.特殊運算子過載 10.總結c 的一大特性就是過載 overload 通過過載可以把功能相似的幾個函式合為乙個,使得程式更加簡潔 ...

C 運算子過載總結

c 的一大特性就是過載 overload 通過過載可以把功能相似的幾個函式合為乙個,使得程式更加簡潔 高效。在c 中不止函式可以過載,運算子也可以過載。由於一般資料型別間的運算子沒有過載的必要,所以運算子過載主要是物件導向之間的。1.一般運算子過載 在進行物件之間的運算時,程式會呼叫與運算子相對應的...

c 運算子過載總結

c 的一大特性就是過載 overload 通過過載可以把功能相似的幾個函式合為乙個,使得程式更加簡潔 高效。在c 中不止函式可以過載,運算子也可以過載。由於一般資料型別間的運算子沒有過載的必要,所以運算子過載主要是物件導向之間的。1.一般運算子過載 在進行物件之間的運算時,程式會呼叫與運算子相對應的...