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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

1、問題的引出

如何初始化父類成員?

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

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

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

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

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

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

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

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

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

顯示調(diào)用

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

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

實踐代碼模板:

代碼實踐:

輸出結(jié)果:

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

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

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

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

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

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

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

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

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

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

代碼實踐:

輸出結(jié)果:

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

二、子類對象的析構(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ù)

代碼實踐:

輸出結(jié)果:

三、總結(jié):

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

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

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

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

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

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

    關(guān)注

    7

    文章

    526

    瀏覽量

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

    關(guān)注

    22

    文章

    2120

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

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

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

    Spire.XLS for C++組件說明

    Spire.XLS for C++ 是一款專業(yè)的 C++ Excel 組件,可以用在各種 C++ 框架和應(yīng)用程序。Spire.XLS for C+
    的頭像 發(fā)表于 01-14 09:40 ?1145次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說明

    EE-112:模擬C++的類實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《EE-112:模擬C++的類實現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 15:15 ?0次下載
    EE-112:模擬<b class='flag-5'>C++</b><b class='flag-5'>中</b>的類實現(xiàn)

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

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

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

    同樣是函數(shù),在 CC++ 中有什么區(qū)別? 第一個返回值。 C語言的函數(shù)可以不寫返回值類型,編譯器會默認(rèn)為返回 int。 但是 C++ 的函數(shù),除了
    的頭像 發(fā)表于 11-29 10:25 ?1146次閱讀

    C語言中申請的堆內(nèi)存能不能自動釋放

    C語言中申請的堆內(nèi)存能不能自動釋放?每次都要手動 free 太麻煩,也容易忘記。 學(xué)過 C++ 的同學(xué),應(yīng)該首先能想到智能指針。 但是這是C語言,沒有類和對象、構(gòu)造
    的頭像 發(fā)表于 11-27 09:33 ?728次閱讀

    C++新手容易犯的十個編程錯誤

    簡單的總結(jié)一下?C++ 新手容易犯的一些編程錯誤,給新人們提供一個參考。 1 有些關(guān)鍵字在 cpp 文件多寫了 對于 C++ 類,一些關(guān)鍵字只要寫在 .h 中就好,cpp 中就不用再
    的頭像 發(fā)表于 11-15 12:42 ?1248次閱讀

    C7000 C/C++優(yōu)化指南用戶手冊

    電子發(fā)燒友網(wǎng)站提供《C7000 C/C++優(yōu)化指南用戶手冊.pdf》資料免費(fèi)下載
    發(fā)表于 11-09 15:00 ?0次下載
    <b class='flag-5'>C</b>7000 <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>優(yōu)化指南用戶手冊

    TMS320C6000優(yōu)化C/C++編譯器v8.3.x

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000優(yōu)化C/C++編譯器v8.3.x.pdf》資料免費(fèi)下載
    發(fā)表于 11-01 09:35 ?1次下載
    TMS320<b class='flag-5'>C</b>6000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器v8.3.x

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

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

    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>編譯器