chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

C++之繼承中構(gòu)造和析構(gòu)學(xué)習(xí)的總結(jié)

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-24 16:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在我們前面學(xué)習(xí)過類中的構(gòu)造函數(shù),以及析構(gòu)函數(shù),那么自然而然,在繼承關(guān)系中,必然是存在著析構(gòu)和構(gòu)造著。

一、子類對(duì)象的構(gòu)造

1、問題的引出

如何初始化父類成員?

父類構(gòu)造函數(shù)和子類構(gòu)造函數(shù)有什么關(guān)系?

2、子類中的構(gòu)造函數(shù)怎樣初始化父類成員:

子類中也是可以定義構(gòu)造函數(shù)的:

--必須對(duì)繼承而來(lái)的成員進(jìn)行初始化,那么怎樣初始化呢?這里有兩種方式:

-直接通過初始化列表或者賦值的方式進(jìn)行初始化

-調(diào)用父類構(gòu)造函數(shù)進(jìn)行初始化

3、父類構(gòu)造函數(shù)在子類中的調(diào)用方式

默認(rèn)調(diào)用

-適用于無(wú)參構(gòu)造函數(shù)和使用默認(rèn)參數(shù)的構(gòu)造函數(shù)

顯示調(diào)用

-通過初始化列表進(jìn)行調(diào)用

-適用于所有父類構(gòu)造函數(shù)

實(shí)踐代碼模板:

代碼實(shí)踐:

輸出結(jié)果:

注解:通過上面的代碼輸出結(jié)果,我們可以發(fā)現(xiàn),子類定義的對(duì)象如果沒有沒有傳參,就隱式調(diào)用父類的構(gòu)造函數(shù);當(dāng)然上面也使用了顯示調(diào)用,通過初始列表的就可以看出。

4、構(gòu)造規(guī)則

子類對(duì)象在創(chuàng)建時(shí)會(huì)首先調(diào)用父類的構(gòu)造函數(shù)

先執(zhí)行父類構(gòu)造函數(shù)再執(zhí)行子類的構(gòu)造函數(shù)

父類構(gòu)造函數(shù)可以被隱式調(diào)用或者顯示調(diào)用

5、對(duì)象創(chuàng)建時(shí)構(gòu)造函數(shù)的調(diào)用順序

(1)調(diào)用父類的構(gòu)造函數(shù)

(2)調(diào)用成員變量的構(gòu)造函數(shù)

(3)調(diào)用類自身的構(gòu)造函數(shù)

總結(jié):先父母,后客人,再自己

代碼實(shí)踐:

輸出結(jié)果:

注解:我們可以看到,先定義了一個(gè)Child對(duì)象,然后最先訪問Object帶參構(gòu)造函數(shù),然后再是Parent帶參構(gòu)造函數(shù)(說(shuō)白了就是父類先觸發(fā)),然后在子類Child中又包含了組合關(guān)系(也就是客人),然后Object類中的帶參構(gòu)造函數(shù),最后再觸發(fā)自身的帶參構(gòu)造函數(shù)。

二、子類對(duì)象的析構(gòu)

1、析構(gòu)函數(shù)的調(diào)用順序與構(gòu)造函數(shù)相反

(1)執(zhí)行自身的析構(gòu)函數(shù)

(2)執(zhí)行成員變量的析構(gòu)函數(shù)

(3)執(zhí)行父類的析構(gòu)函數(shù)

代碼實(shí)踐:

輸出結(jié)果:

三、總結(jié):

子類對(duì)象在創(chuàng)建時(shí)需要調(diào)用父類構(gòu)造函數(shù)進(jìn)行初始化

先執(zhí)行父類構(gòu)造函數(shù)然后執(zhí)行成員的構(gòu)造函數(shù)

父類構(gòu)造函數(shù)顯示調(diào)用需要在初始化列表中進(jìn)行

子類對(duì)象在銷毀時(shí)需要調(diào)用父類析構(gòu)函數(shù)進(jìn)行清理

析構(gòu)順序與構(gòu)造順序?qū)ΨQ相反

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

    關(guān)注

    7

    文章

    526

    瀏覽量

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

    關(guān)注

    22

    文章

    2122

    瀏覽量

    76873
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    C語(yǔ)言與C++的區(qū)別及聯(lián)系

    缺點(diǎn):性能比面向過程低。 二、具體語(yǔ)言上的區(qū)別 1、關(guān)鍵字的不同 C語(yǔ)言有32個(gè)關(guān)鍵字;C++有63個(gè)關(guān)鍵字。 2、后綴名不同 C源文件后綴.c,
    發(fā)表于 12-24 07:23

    CC++之間的聯(lián)系

    1、語(yǔ)法兼容性: C++完全兼容C語(yǔ)言的語(yǔ)法,這意味著任何有效的C語(yǔ)言程序都可以直接在C++編譯器下編譯通過。 2、底層控制: C++
    發(fā)表于 12-11 06:51

    C語(yǔ)言和C++之間的區(qū)別是什么

    區(qū)別 1、面向?qū)ο缶幊?(OOP): C語(yǔ)言是一種面向過程的語(yǔ)言,它強(qiáng)調(diào)的是通過函數(shù)將任務(wù)分解為一系列步驟進(jìn)行執(zhí)行。 C++C語(yǔ)言的基礎(chǔ)上擴(kuò)展了面向?qū)ο蟮奶匦?,支持?class)、封裝、
    發(fā)表于 12-11 06:23

    C/C++條件編譯

    條件編譯是一種在編譯時(shí)根據(jù)條件選擇性地包含或排除部分代碼的處理方法。在 C/C++ ,條件編譯使用預(yù)處理指令 #ifdef、#endif、#else 和 #elif 來(lái)實(shí)現(xiàn)。常用的條件編譯指令有
    發(fā)表于 12-05 06:21

    C++程序異常的處理機(jī)制

    1、什么是異常處理? 有經(jīng)驗(yàn)的朋友應(yīng)該知道,在正常的CC++編程過程難免會(huì)碰到程序不按照原本設(shè)計(jì)運(yùn)行的情況。 最常見的有除法分母為零,數(shù)組越界,內(nèi)存分配失效、打開相應(yīng)文件失敗等等。 一個(gè)程序
    發(fā)表于 12-02 07:12

    C/C++代碼靜態(tài)測(cè)試工具Perforce QAC 2025.3的新特性

    ?Perforce Validate??QAC?項(xiàng)目的相對(duì)/根路徑的支持。C++?分析也得到了增強(qiáng),增加了用于檢測(cè) C++?并發(fā)問題的新檢查,并改進(jìn)了實(shí)體名稱和實(shí)
    的頭像 發(fā)表于 10-13 18:11 ?479次閱讀
    <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>代碼靜態(tài)測(cè)試工具Perforce QAC 2025.3的新特性

    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(六):us級(jí)高速交互C++,為智能裝備提速

    Windows下運(yùn)動(dòng)控制實(shí)時(shí)內(nèi)核MotionRT750的高速交互C++
    的頭像 發(fā)表于 09-04 14:50 ?623次閱讀
    強(qiáng)實(shí)時(shí)運(yùn)動(dòng)控制內(nèi)核MotionRT750(六):us級(jí)高速交互<b class='flag-5'>之</b><b class='flag-5'>C++</b>,為智能裝備提速

    多次運(yùn)行AIBase構(gòu)函數(shù)出現(xiàn)意外掉線的情況,怎么解決?

    第一次運(yùn)行無(wú)異常,但是第二次運(yùn)行這里會(huì)意外掉線,try+catch同樣無(wú)法捕捉,大家如何構(gòu)yolo的? 目前解決辦法就是注釋掉這段代碼,不釋放是否會(huì)出現(xiàn)問題,雖然暫時(shí)沒發(fā)現(xiàn)異常
    發(fā)表于 08-14 07:10

    技能+1!如何在樹莓派上使用C++控制GPIO?

    和PiGPIO等庫(kù),C++可用于編程控制樹莓派的GPIO引腳。它提供了更好的性能和控制能力,非常適合對(duì)速度和精度要求較高的硬件項(xiàng)目。在樹莓派社區(qū),關(guān)于“Python
    的頭像 發(fā)表于 08-06 15:33 ?3889次閱讀
    技能+1!如何在樹莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    請(qǐng)問如何在C++中使用NPU上的模型緩存?

    無(wú)法確定如何在 C++ 的 NPU 上使用模型緩存
    發(fā)表于 06-24 07:25

    在OpenVINO? C++代碼啟用 AddressSanitizer 時(shí)的內(nèi)存泄漏怎么解決?

    在 OpenVINO? C++代碼啟用 AddressSanitizer 時(shí)遇到內(nèi)存泄漏: \"#0 0xaaaab8558370 in operator new(unsigned
    發(fā)表于 06-23 07:16

    主流的 MCU 開發(fā)語(yǔ)言為什么是 C 而不是 C++?

    在單片機(jī)的地界兒里,C語(yǔ)言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉(zhuǎn)。先說(shuō)內(nèi)存這道坎兒。您當(dāng)stm32f4的256kRAM
    的頭像 發(fā)表于 05-21 10:33 ?929次閱讀
    主流的 MCU 開發(fā)語(yǔ)言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    C++學(xué)到什么程度可以找工作?

    C++開發(fā)的工作不僅需要深厚的編程功底,還要具備解決實(shí)際問題的能力,以及良好的溝通能力和團(tuán)隊(duì)協(xié)作精神。此外,持續(xù)學(xué)習(xí)和更新自己的知識(shí)體系也是保持競(jìng)爭(zhēng)力的關(guān)鍵。
    發(fā)表于 03-13 10:19

    創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼獲得的結(jié)果與Python代碼不同是為什么?

    創(chuàng)建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 在兩個(gè)推理過程中使用相同的圖像和模型。 從 C++ 代碼獲得的結(jié)果與 Python* 代碼不同。
    發(fā)表于 03-06 06:22

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

    1、程序簡(jiǎn)介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫(kù)的線程池處理:ThreadPoll。本案例完成如下工作:創(chuàng)建1個(gè)線程池,設(shè)置該線程池內(nèi)部有1024個(gè)線程空間。啟動(dòng)5個(gè)線程
    的頭像 發(fā)表于 02-10 18:09 ?755次閱讀
    基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的<b class='flag-5'>C++</b>公共基礎(chǔ)類庫(kù)案例:ThreadPoll