色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C++之繼承中構造和析構學習的總結

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-24 16:10 ? 次閱讀

在我們前面學習過類中的構造函數(shù),以及析構函數(shù),那么自然而然,在繼承關系中,必然是存在著析構和構造著。

一、子類對象的構造

1、問題的引出

如何初始化父類成員?

父類構造函數(shù)和子類構造函數(shù)有什么關系?

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

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

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

-直接通過初始化列表或者賦值的方式進行初始化

-調用父類構造函數(shù)進行初始化

3、父類構造函數(shù)在子類中的調用方式

默認調用

-適用于無參構造函數(shù)和使用默認參數(shù)的構造函數(shù)

顯示調用

-通過初始化列表進行調用

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

實踐代碼模板:

代碼實踐:

輸出結果:

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

4、構造規(guī)則

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

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

父類構造函數(shù)可以被隱式調用或者顯示調用

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

(1)調用父類的構造函數(shù)

(2)調用成員變量的構造函數(shù)

(3)調用類自身的構造函數(shù)

總結:先父母,后客人,再自己

代碼實踐:

輸出結果:

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

二、子類對象的析構

1、析構函數(shù)的調用順序與構造函數(shù)相反

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

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

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

代碼實踐:

輸出結果:

三、總結:

子類對象在創(chuàng)建時需要調用父類構造函數(shù)進行初始化

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

父類構造函數(shù)顯示調用需要在初始化列表中進行

子類對象在銷毀時需要調用父類析構函數(shù)進行清理

析構順序與構造順序對稱相反

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

    關注

    7

    文章

    515

    瀏覽量

    44083
  • C++
    C++
    +關注

    關注

    22

    文章

    2108

    瀏覽量

    73623
收藏 人收藏

    評論

    相關推薦

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

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

    C語言中申請的堆內存能不能自動釋放

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

    C語言和C++結構體的區(qū)別

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

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

    電子發(fā)燒友網站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費下載
    發(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>編譯器

    ostream在c++的用法

    ostream 是 C++ 標準庫中一個非常重要的類,它位于 頭文件(實際上,更常見的是通過包含 頭文件來間接包含 ,因為 包含了 和 )。 ostream 類及其派生類(如 std::cout
    的頭像 發(fā)表于 09-20 15:11 ?663次閱讀

    基于OpenHarmony標準系統(tǒng)的C++公共基礎類庫案例:SafeQueue

    1、程序簡介該程序是基于OpenHarmony的C++公共基礎類庫的線程安全隊列:SafeQueue。線程安全隊列,是在dequeue的基礎上封裝std::lock_guard,以此實現(xiàn)線程的相關
    的頭像 發(fā)表于 08-30 12:41 ?291次閱讀
    基于OpenHarmony標準系統(tǒng)的<b class='flag-5'>C++</b>公共基礎類庫案例:SafeQueue

    基于OpenHarmony標準系統(tǒng)的C++公共基礎類庫案例:SafeStack

    1、程序簡介該程序是基于OpenHarmony的C++公共基礎類庫的線程安全隊列:SafeQueue。線程安全隊列,是在dequeue的基礎上封裝std::lock_guard,以此實現(xiàn)線程的相關
    的頭像 發(fā)表于 08-30 12:41 ?320次閱讀
    基于OpenHarmony標準系統(tǒng)的<b class='flag-5'>C++</b>公共基礎類庫案例:SafeStack

    C++語言基礎知識

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

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

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

    鴻蒙OS開發(fā)實例:【Native C++

    使用DevEco Studio創(chuàng)建一個Native C++應用。應用采用Native C++模板,實現(xiàn)使用NAPI調用C標準庫的功能。使用C標準庫hypot接口計算兩個給定數(shù)平方和的平
    的頭像 發(fā)表于 04-14 11:43 ?2594次閱讀
    鴻蒙OS開發(fā)實例:【Native <b class='flag-5'>C++</b>】

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

    在前兩篇博客,我們?向您介紹了新的 MISRA C++ 標準?和?C++ 的歷史?。在這篇博客,我們將仔細研究以 C++
    的頭像 發(fā)表于 03-28 13:53 ?785次閱讀
    使用 MISRA <b class='flag-5'>C++</b>:2023? 避免基于范圍的 for 循環(huán)中的錯誤

    c語言,c++,java,python區(qū)別

    操作系統(tǒng)、嵌入式系統(tǒng)等對性能要求較高的場景。C語言的語法相對簡單,學習曲線較平緩,也是學習其他高級語言的入門語言。 C++C++是在
    的頭像 發(fā)表于 02-05 14:11 ?2367次閱讀

    vb語言和c++語言的區(qū)別

    Microsoft開發(fā)的一種面向對象的事件驅動編程語言。它的設計目標是簡化編程過程,讓初學者也能快速上手。與相比,C++語言是一種通用的、面向對象的編程語言,其設計目標是提供高性能的系統(tǒng)級編程。 語法: VB語言的語法較為簡單,使用了很多可讀性強的關鍵詞,如“
    的頭像 發(fā)表于 02-01 10:20 ?2258次閱讀

    C++簡史:C++是如何開始的

    的 MISRA C++:2023 博客系列的第二部分。 在這篇博客,我們將深入探討 C++ 的歷史、編程語言多年來的發(fā)展歷程以及它的下一步發(fā)展方向。
    的頭像 發(fā)表于 01-11 09:00 ?581次閱讀
    <b class='flag-5'>C++</b>簡史:<b class='flag-5'>C++</b>是如何開始的

    基于C/C++面向對象的方式封裝socket通信類流程簡

    在掌握了基于 TCP 的套接字通信流程之后,為了方便使用,提高編碼效率,可以對通信操作進行封裝,本著有淺入深的原則,先基于 C 語言進行面向過程的函數(shù)封裝,然后再基于 C++ 進行面向對象的類封裝。
    的頭像 發(fā)表于 12-26 10:00 ?1813次閱讀
    主站蜘蛛池模板: 青青草 久久久| 色欲AV无码乱码精品国产| 亚洲国产韩国欧美在线不卡| 白百合在线观看| 欧式午夜理伦三级在线观看| 天堂岛www天堂资源在线| 97人人爽人人爽人人人片AV| 国产精品麻豆高潮刺激A片| 快播h网站| 亚洲片在线观看| 国产精品亚洲第一区二区三区| 嫩草影院永久在线一二三四| 中文字幕亚洲无线码一区| 韩国电影久久| 亚洲AV无码一区二区三区乱子伦| 菠萝菠萝蜜免费播放高清| 欧美aa级片| CHINA末成年VIDEO学生| 尿了么app| www.久艹| 日韩在线视频www色| 国产国产成年在线视频区| 天美传媒果冻传媒入口视频| 俄罗斯12x13x处| 四虎永久免费| 国产视频精品在线偷拍| 永久精品视频无码一区| 好硬好湿好爽再深一点视频| 亚洲精品色播一区二区| 极品内射少妇精品无码视频| 中文字幕视频在线免费观看| 男人网站在线| 国产精品 中文字幕 亚洲 欧美| 忘忧草在线| 久久国产视频网| 99久久久免费精品免费| 色婷婷五月综合中文字幕| 国产在线自天天人人| 69久久国产露脸精品国产| 秋霞午夜鲁丝片午夜精品久| 国产 日韩 欧美 高清 亚洲|