一、完善的復(fù)數(shù)類:
在上一篇文章里面我們已經(jīng)提到了操作符重載的概念和使用,同時(shí)也舉例了一個(gè)數(shù)學(xué)里面的復(fù)數(shù)操作,從一開始使用友元到使用操作符重載全局函數(shù),再到使用操作符重載類成員函數(shù),這樣一步步演變而成我們最終實(shí)現(xiàn)了復(fù)數(shù)的實(shí)部加實(shí)部,虛部加虛部;而且當(dāng)時(shí)我們只講解了一個(gè)操作重載符“+”,所以為了完善學(xué)習(xí)體系,咋們今天繼續(xù)把剩下的操作重載符總結(jié)完,以免知識(shí)體系零零散散。那么復(fù)數(shù)完善的操作符還有那些呢,其實(shí)很簡(jiǎn)單就能能想到,和對(duì)數(shù)學(xué)里面的實(shí)數(shù)操作一樣,加減乘除肯定是少不了嘛,下面是匯總的操作符總結(jié):
運(yùn)算:+、-、*、/
比較:==、!=
賦值: =
求模:modulus
2、各操作符重載的形式:
代碼實(shí)現(xiàn):
test.h頭文件:
test.cpp文件:
main.cpp文件:
運(yùn)行結(jié)果:
上面設(shè)計(jì)到一些數(shù)學(xué)知識(shí),比如復(fù)數(shù)的乘法和除法運(yùn)算:
乘法:(a+bi)(c+di)=(ac-bd)+(bc+ad)i
除法:(a+bi)/(c+di)=(ac+bd)/cc+dd +(bc-ad)/cc +dd
3、注意事項(xiàng):
C++規(guī)定賦值操作符"="只能重載為成員函數(shù)
操作符重載不能改變?cè)僮鞣膬?yōu)先級(jí)
操作符重載不能改變操作數(shù)的個(gè)數(shù)
操作符重載不應(yīng)改變操作符的原有語義
二、總結(jié):
復(fù)數(shù)的概念可以通過自定義類實(shí)現(xiàn)
復(fù)數(shù)中的運(yùn)算操作可以通過操作符重載實(shí)現(xiàn)
賦值操作符只能通過成員函數(shù)實(shí)現(xiàn)
操作符重載的本質(zhì)為函數(shù)定義
-
可編程邏輯
+關(guān)注
關(guān)注
7文章
517瀏覽量
44311 -
C++
+關(guān)注
關(guān)注
22文章
2115瀏覽量
74169
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
C++學(xué)到什么程度可以找工作?
基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫案例:ThreadPoll

Spire.XLS for C++組件說明

運(yùn)動(dòng)控制卡周期上報(bào)實(shí)時(shí)數(shù)據(jù)IO狀態(tài)之C++篇

同樣是函數(shù),在C和C++中有什么區(qū)別
C7000優(yōu)化C/C++編譯器

技術(shù)干貨驛站 ▏解鎖C語言高效編程秘訣:深入解析運(yùn)算符與優(yōu)先級(jí)

c語言中從左到右結(jié)合怎么看
c語言從右到左的運(yùn)算符有哪些
C++語言基礎(chǔ)知識(shí)
C++中實(shí)現(xiàn)類似instanceof的方法

STM32CubeMX如何在*.c源文件中使用c++特性?
鴻蒙OS開發(fā)實(shí)例:【Native C++】

使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

評(píng)論