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

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

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

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

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

一、操作符重載:

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

代碼版本一:

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

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

2、操作重載符的引出

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

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

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

3、操作重載符的語(yǔ)法:

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

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

語(yǔ)法格式:

代碼版本二:

輸出結(jié)果:

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

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

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

不需要依賴(lài)友元就可以完成操作符重載

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

二、小結(jié):

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

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

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

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

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

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

    關(guān)注

    7

    文章

    523

    瀏覽量

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

    關(guān)注

    22

    文章

    2116

    瀏覽量

    74654
收藏 人收藏

    評(píng)論

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

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

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

    Spire.XLS for C++組件說(shuō)明

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

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

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

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

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

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

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

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

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

    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ǔ)言高效編程秘訣:深入解析運(yùn)算與優(yōu)先級(jí)

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

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

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

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

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

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

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

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

    以下是一些主要的從右到左運(yùn)算的C語(yǔ)言運(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 ?1599次閱讀

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

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

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

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

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

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

    電子發(fā)燒友

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

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