C中,如果使用運算子過載,比如過載,如問題補充裡

2021-03-03 21:24:17 字數 1327 閱讀 7377

1樓:

你過載的是用於***plex類的

copy+運算子,在{}裡面的r+b.r可以看作r.+(b.

r),就是物件r所屬的類過載的+,平時我們對於兩個整型的數的加法運算,比如兩個整型數int a和int b,a+b就是呼叫了類似成員函式的經過過載的方法+,也就相當於a.+(b)。你要使用這個過載的運算子,譬如對於兩個***plex物件c1,c2,那麼c1+c2就相當於c1.

+(c2),這裡就使用了你過載的運算子。

c++運算子過載的呼叫的具體規則是怎樣的?謝謝

2樓:匿名使用者

不知道抄你用的材料是不是

襲c++語言程式設計,清華bai出版社,如果是du的話,那麼你說的這個zhi問題在dao書本的308裡有,因為我這個學期才學,所以不是很懂

1.c++中的運算子除了少數幾個(如:類屬關係運算子 .

,成員指標運算子 .* ,作用域分辨符 ::, 三目運算子 ?:

等吧)外,全部可以過載,而且只能過載c++中已經有的運算子。

2.過載之後運算子的優先順序和結合性不會發生改變。

3.運算子過載時針對新型別的資料的實際需要,對原有運算進行適當的改造。一般來講,過載的功能應當與原有功能相類似,不能改變原運算子的操作物件個數,同時至少要有一個操作物件是自定義型別。

c++中的運算子過載主要用來做什麼?

3樓:匿名使用者

主要是用來使物件之間可以做運算操作的.

比如,你定義了一個類的物件a而這個物件中有一個資料,又定義了一個b物件也有一個資料,你須要使用a+b來計算這兩個物件中資料的合,就須要運算子過載.

運算子過載不光是可以過載四則運算的.也可以過載 下標運算子,<< >>輸入輸出運算子等等.

運算子過載主要的用途只是為了讓運算子其前後跟後的物件可以直接像物件內的資料一樣運算

4樓:匿名使用者

主要用來

定義類的運算,比如你定義個複數類,

然後就需要定義複數的加減乘除。

一個很簡單的例子,平面中質點速度就是個複數。

定義了速度的加減乘除,還可以定義其他運算,如點積,×積。

然後用這個類的時候,直接用過載的運算子運算,直觀,簡單。

顯然,你可以不用運算子過載,而是直接用函式實現複數的各種運算。

但是運算子直觀。

5樓:匿名使用者

自定義運算子,用來實現符合自己實際的需要。

6樓:匿名使用者

個人理解:就是為了實現不同物件裡面成員的運算

C運算子過載是什麼意思C中運算子過載到底有什麼何意義?

所謂過載,就是重新賦予新的含義。函式過載就是對一個已有的函式賦予新的含義,使之實現新功能,因此,一個函式名就可以用來代表不同功能的函式,也就是 一名多用 運算子也可以過載。實際上,我們已經在不知不覺之中使用了運算子過載。例如,大 家都 已習慣於用加法運算子 對整數 單精度數和雙精度數進行加法運算,如...

C指標運算子過載

比如這麼定義 template class linkedlist node operator int 前置,返回next節點 inline node getfirstnode 連結串列為空會出錯 private node pfirst 不過以上 有個很大的問題,實際上是不能用的,只是為了說明一下。因...

c 中運算子過載,前 和後 如何區分

c 編輯器可以通過在運算子函式參數列中是否插入關鍵字int來區分這兩種方式 宣告 x operator 字首方式x operator int 字尾方式呼叫時,引數int一般傳遞給值0 x ob ob ob 隱式呼叫ob.operator int ob.operator ob.operator 0 顯...