一、完善的復數類:
在上一篇文章里面我們已經提到了操作符重載的概念和使用,同時也舉例了一個數學里面的復數操作,從一開始使用友元到使用操作符重載全局函數,再到使用操作符重載類成員函數,這樣一步步演變而成我們最終實現了復數的實部加實部,虛部加虛部;而且當時我們只講解了一個操作重載符“+”,所以為了完善學習體系,咋們今天繼續把剩下的操作重載符總結完,以免知識體系零零散散。那么復數完善的操作符還有那些呢,其實很簡單就能能想到,和對數學里面的實數操作一樣,加減乘除肯定是少不了嘛,下面是匯總的操作符總結:
運算:+、-、*、/
比較:==、!=
賦值: =
求模:modulus
2、各操作符重載的形式:
代碼實現:
test.h頭文件:
test.cpp文件:
main.cpp文件:
運行結果:
上面設計到一些數學知識,比如復數的乘法和除法運算:
乘法:(a+bi)(c+di)=(ac-bd)+(bc+ad)i
除法:(a+bi)/(c+di)=(ac+bd)/cc+dd +(bc-ad)/cc +dd
3、注意事項:
C++規定賦值操作符"="只能重載為成員函數
操作符重載不能改變原操作符的優先級
操作符重載不能改變操作數的個數
操作符重載不應改變操作符的原有語義
二、總結:
復數的概念可以通過自定義類實現
復數中的運算操作可以通過操作符重載實現
賦值操作符只能通過成員函數實現
操作符重載的本質為函數定義
-
可編程邏輯
+關注
關注
7文章
526瀏覽量
45401 -
C++
+關注
關注
22文章
2123瀏覽量
77110
發布評論請先 登錄
keil實現c與c++混合編程
如何在TensorFlow Lite Micro中添加自定義操作符(1)
重載型編碼器:工業巨擘的“智慧之眼”
C語言與C++的區別及聯系
Amphenol ARB Series? 矩形重載連接器:工業應用的理想之選
C語言和C++之間的區別是什么
C/C++條件編譯
C++程序異常的處理機制
RISC-V的工具鏈GCC內聯匯編
技能+1!如何在樹莓派上使用C++控制GPIO?
主流的 MCU 開發語言為什么是 C 而不是 C++?
C++之操作重載符學習的總結(二)
評論