0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++之操作符重載學(xué)習(xí)的總結(jié)

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 16:36 ? 次閱讀

一、操作符重載:

1、我們先來看一個(gè)問題實(shí)現(xiàn),下面的復(fù)數(shù)解決方案是否可行,復(fù)數(shù)大家應(yīng)該都不陌生(分為實(shí)部和虛部):

代碼版本一:

運(yùn)行結(jié)果:

這里通過Add函數(shù)可以解決Complex對象相加的問題,但是在我們數(shù)學(xué)運(yùn)算里面就是直接實(shí)部加實(shí)部,虛部加虛部,和正常的實(shí)數(shù)相加一樣,所以說,為什么不直接這樣操作呢,這就涉及到符號"+"的問題。

2、操作重載符的引出

c++中的重載能夠擴(kuò)展操作符的功能

操作符的重載以函數(shù)的方式進(jìn)行

本質(zhì):用特殊形式的函數(shù)擴(kuò)展操作符的功能

3、操作重載符的語法:

通過operator關(guān)鍵字可以定義特殊的函數(shù)

operator的本質(zhì)是通過函數(shù)重載操作符

語法格式:

代碼版本二:

輸出結(jié)果:

4、再次改進(jìn)代碼:

可以將操作符重載函數(shù)定義成為類的成員函數(shù)(前面我們學(xué)過,友元現(xiàn)代軟件開發(fā)不允許):

比全局操作符重載函數(shù)少一個(gè)參數(shù)(左操作數(shù),成員函數(shù)中隱藏的 this 參數(shù)可以充當(dāng)左操作數(shù)的角色)

不需要依賴友元就可以完成操作符重載

編譯器優(yōu)先在成員函數(shù)中尋找操作符重載(一旦在成員函數(shù)中找到,就不會去全局找)

二、小結(jié):

操作符重載是c++的強(qiáng)大特性之一

操作符重載的本質(zhì)是通過函數(shù)擴(kuò)展操作符的功能

operator 關(guān)鍵字是實(shí)現(xiàn)操作符重載的關(guān)鍵

操作符重載遵循相同的函數(shù)重載規(guī)則

全局函數(shù)和成員函數(shù)都可以實(shí)現(xiàn)對操作符的重載

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 可編程邏輯
    +關(guān)注

    關(guān)注

    7

    文章

    526

    瀏覽量

    44560
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2117

    瀏覽量

    74769
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫案例:ThreadPoll

    。每個(gè)線程每秒打印1段字符串,10秒后停止。2、基礎(chǔ)知識C++公共基礎(chǔ)類庫為標(biāo)準(zhǔn)系統(tǒng)提供了一些常用的C++開發(fā)工具類,包括:文件、路徑、字符串相關(guān)操作的能力增強(qiáng)接口
    的頭像 發(fā)表于 02-10 18:09 ?281次閱讀
    基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的<b class='flag-5'>C++</b>公共基礎(chǔ)類庫案例:ThreadPoll

    Spire.XLS for C++組件說明

    開發(fā)人員可以快速地在 C++ 平臺上完成對 Excel 的各種編程操作,如根據(jù)模板創(chuàng)建新的 Excel 文檔,編輯現(xiàn)有 Excel 文檔,以及對 Excel 文檔進(jìn)行轉(zhuǎn)換。 Spire.XLS
    的頭像 發(fā)表于 01-14 09:40 ?510次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說明

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

    使用C++進(jìn)行運(yùn)動控制卡的周期上報(bào)功能實(shí)現(xiàn)
    的頭像 發(fā)表于 12-17 13:59 ?696次閱讀
    運(yùn)動控制卡周期上報(bào)實(shí)時(shí)數(shù)據(jù)IO狀態(tài)<b class='flag-5'>之</b><b class='flag-5'>C++</b>篇

    同樣是函數(shù),在CC++中有什么區(qū)別

    ,即使沒有數(shù)據(jù)返回,也得寫 void。 第二個(gè)函數(shù)名。 C語言的函數(shù)名絕對不能重名,除了用上 weak 這樣的黑科技。同一個(gè)項(xiàng)目中,函數(shù)重名就會提示重復(fù)定義。 C++因?yàn)楹瘮?shù)重載的存在,函數(shù)名可以相同,只要參數(shù)有區(qū)別就行。這兩個(gè)
    的頭像 發(fā)表于 11-29 10:25 ?779次閱讀

    邏輯異或運(yùn)算在Python中的用法

    在Python編程語言中,邏輯異或運(yùn)算并不直接作為一個(gè)內(nèi)置的操作符存在,因?yàn)镻ython更側(cè)重于高級編程和可讀性,并沒有直接提供異或運(yùn)算的簡寫形式用于邏輯運(yùn)算(真/假值的異或)。然而
    的頭像 發(fā)表于 11-19 09:46 ?716次閱讀

    C語言和C++中結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語言和C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?649次閱讀

    C7000優(yōu)化C/C++編譯器

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器

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

    C語言的學(xué)習(xí)過程中,運(yùn)算的使用是不可忽視的重要環(huán)節(jié)。本文將繼續(xù)深入探討C語言中的運(yùn)算,重點(diǎn)介紹位運(yùn)算
    的頭像 發(fā)表于 10-13 08:09 ?523次閱讀
    技術(shù)干貨驛站 ▏解鎖<b class='flag-5'>C</b>語言高效編程秘訣:深入解析運(yùn)算<b class='flag-5'>符</b>與優(yōu)先級

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型整數(shù)類型

    (十進(jìn)制)。 整數(shù)類型支持的操作 整數(shù)類型默認(rèn)支持的操作符包括:算術(shù)操作符、位操作符、關(guān)系操作符、自增和自減
    發(fā)表于 09-13 14:55

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型布爾類型

    let b: Bool = false 布爾類型支持的操作 布爾類型支持的操作符包括:邏輯操作符(邏輯非!,邏輯與 &&,邏輯或 ||)、部分關(guān)系操作符
    發(fā)表于 09-09 09:57

    c語言中從左到右結(jié)合怎么看

    C語言中,操作符的結(jié)合性(Associativity)是指當(dāng)操作符在表達(dá)式中連續(xù)出現(xiàn)時(shí),它們?nèi)绾闻c操作數(shù)結(jié)合的順序。對于大多數(shù)二元操作符
    的頭像 發(fā)表于 08-20 11:42 ?1447次閱讀

    c語言從右到左的運(yùn)算有哪些

    以下是一些主要的從右到左運(yùn)算的C語言運(yùn)算: 函數(shù)調(diào)用運(yùn)算 ( () ):當(dāng)您調(diào)用一個(gè)函數(shù)時(shí),參數(shù)列表是從右到左進(jìn)行求值的。 后置遞增運(yùn)算 ( ++ ) 和 后置遞減運(yùn)算
    的頭像 發(fā)表于 08-20 11:39 ?1679次閱讀

    C++語言基礎(chǔ)知識

    電子發(fā)燒友網(wǎng)站提供《C++語言基礎(chǔ)知識.pdf》資料免費(fèi)下載
    發(fā)表于 07-19 10:58 ?8次下載

    C++中實(shí)現(xiàn)類似instanceof的方法

    C++有多態(tài)與繼承,但是很多人開始學(xué)習(xí)C++,有時(shí)候會面臨一個(gè)常見問題,就是如何向下轉(zhuǎn)型,特別是不知道具體類型的時(shí)候,這個(gè)時(shí)候就希望C++ 可以向Java或者Python中有insta
    的頭像 發(fā)表于 07-18 10:16 ?848次閱讀
    <b class='flag-5'>C++</b>中實(shí)現(xiàn)類似instanceof的方法

    FPGA學(xué)習(xí)筆記---基本語法

    3、信號類型:wire, reg, tri等 4、參數(shù)定義:parameter 5、運(yùn)算操作符:各種邏輯操作符、移位操作符、算數(shù)操作符等 6、比較判斷:if ... else, ca
    發(fā)表于 06-23 14:58

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品