一、完善的復數(shù)類:
在上一篇文章里面我們已經(jīng)提到了操作符重載的概念和使用,同時也舉例了一個數(shù)學里面的復數(shù)操作,從一開始使用友元到使用操作符重載全局函數(shù),再到使用操作符重載類成員函數(shù),這樣一步步演變而成我們最終實現(xiàn)了復數(shù)的實部加實部,虛部加虛部;而且當時我們只講解了一個操作重載符“+”,所以為了完善學習體系,咋們今天繼續(xù)把剩下的操作重載符總結完,以免知識體系零零散散。那么復數(shù)完善的操作符還有那些呢,其實很簡單就能能想到,和對數(shù)學里面的實數(shù)操作一樣,加減乘除肯定是少不了嘛,下面是匯總的操作符總結:
運算:+、-、*、/
比較:==、!=
賦值: =
求模:modulus
2、各操作符重載的形式:
代碼實現(xiàn):
test.h頭文件:
test.cpp文件:
main.cpp文件:
運行結果:
上面設計到一些數(shù)學知識,比如復數(shù)的乘法和除法運算:
乘法:(a+bi)(c+di)=(ac-bd)+(bc+ad)i
除法:(a+bi)/(c+di)=(ac+bd)/cc+dd +(bc-ad)/cc +dd
3、注意事項:
C++規(guī)定賦值操作符"="只能重載為成員函數(shù)
操作符重載不能改變原操作符的優(yōu)先級
操作符重載不能改變操作數(shù)的個數(shù)
操作符重載不應改變操作符的原有語義
二、總結:
復數(shù)的概念可以通過自定義類實現(xiàn)
復數(shù)中的運算操作可以通過操作符重載實現(xiàn)
賦值操作符只能通過成員函數(shù)實現(xiàn)
操作符重載的本質為函數(shù)定義
-
可編程邏輯
+關注
關注
7文章
517瀏覽量
44179 -
C++
+關注
關注
22文章
2114瀏覽量
73857
發(fā)布評論請先 登錄
相關推薦
Spire.XLS for C++組件說明
![Spire.XLS for <b class='flag-5'>C++</b>組件說明](https://file1.elecfans.com/web3/M00/05/E7/wKgZO2eFwUuAbuoQAAAbn_khf8A091.png)
同樣是函數(shù),在C和C++中有什么區(qū)別
技術干貨驛站 ▏解鎖C語言高效編程秘訣:深入解析運算符與優(yōu)先級
![技術干貨驛站 ▏解鎖<b class='flag-5'>C</b>語言高效編程秘訣:深入解析運算<b class='flag-5'>符</b>與優(yōu)先級](https://file1.elecfans.com/web2/M00/FC/CD/wKgZomaWI5uASgBaAABuQHdMO4I302.png)
技術干貨驛站 ▏深入理解C語言:編程高手必備,全方位解析運算符的核心技能!
![技術干貨驛站 ▏深入理解<b class='flag-5'>C</b>語言:編程高手必備,全方位解析運算<b class='flag-5'>符</b>的核心技能!](https://file1.elecfans.com/web2/M00/07/AD/wKgaombqh7SAbkiwAABRwFmh1fQ416.png)
c語言中從左到右結合怎么看
c語言從右到左的運算符有哪些
OpenVINO2024 C++推理使用技巧
C++中實現(xiàn)類似instanceof的方法
![<b class='flag-5'>C++</b>中實現(xiàn)類似instanceof的方法](https://file1.elecfans.com/web2/M00/FE/0C/wKgaomaYe1CAQ31QAAAnf0IkoSU605.png)
STM32CubeMX如何在*.c源文件中使用c++特性?
鴻蒙OS開發(fā)實例:【Native C++】
![鴻蒙OS開發(fā)實例:【Native <b class='flag-5'>C++</b>】](https://file1.elecfans.com/web2/M00/C8/31/wKgZomYZMTCAaDv3AAY5x13C324319.jpg)
使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯誤
![使用 MISRA <b class='flag-5'>C++</b>:2023? 避免基于范圍的 for 循環(huán)中的錯誤](https://file1.elecfans.com/web2/M00/A9/66/wKgZomUl7m-AHJX6AABuJjgxs14678.png)
評論