日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 學習筆記 > 嵌入式學習筆記:C++繼承的三種方式,用實例教會你

嵌入式學習筆記:C++繼承的三種方式,用實例教會你 時間:2018-09-05      來源:未知

c++繼承是c里面學習比較難的,在這里告訴你c++繼承,從各個方面來給你一一擊破難點。讓你快速學習。

面向對象程序設計中最重要的一個概念是繼承。繼承允許我們依據另一個類來定義一個類,這使得創建和維護一個應用程序變得更容易。這樣做,也達到了重用代碼功能和提高執行時間的效果。

當創建一個類時,您不需要重新編寫新的數據成員和成員函數,只需指定新建的類繼承了一個已有的類的成員即可。這個已有的類稱為基類,新建的類稱為派生類。

如何實現繼承?

一個類可以派生自多個類,這意味著,它可以從多個基類繼承數據和函數。定義一個派生類,我們使用一個類派生列表來指定基類。類派生列表以一個或多個基類命名,形式如下:

class derived­class: access­specifier base­class

其中,訪問修飾符 access-specifier 是 public、

protected 或 private 其中的一個,base-class 是之前定義過的某個類的名稱。如果未使用訪問修飾符 access-specifier,則默認為private。

注:

子類也可以稱為派生類,父類可以稱為基類。

繼承后,子類會完全繼承父類中所有的成員變量和成員函數(除父類的構造函數以外)

public :公有的成員在任何地方都可以訪問

protected:受保護的成員,在類的作用范圍內可以訪問,友元也可以訪問,在其派生類中也可以訪問,在類的外部不能訪問。

private:私有的成員在類的作用范圍內可以訪問,友元也可以訪問。

一個派生類繼承了所有的基類方法,但下列情況除外:

基類的構造函數、析構函數和拷貝構造函數。

基類的重載運算符。

基類的友元函數。

構造和析構的順序:

子類的構造函數一定會先調用父類的構造函數,先初始化從父類繼承而來的成員變量,再調用自己的構造函數初始化新增的成員變量。

析構相反,先調用子類的析構函數釋放新增內存,再調用父類的析構函數釋放從父類繼承而來的部分。

當父類的構造函數沒有參數的時候,子類的構造函數可以不主動調用父類的構造函數,但是父類的構造函數依然會被自動調用。

三種繼承方式:

1.公有繼承 父類的公有成員繼承到子類中是公有屬性,父類的保護成員繼承到子類中是保護屬性,父類的私有成員繼承到子類中不可訪問。

2.保護繼承 父類的公有成員繼承到子類中是保護屬性,父類的保護成員繼承到子類中是保護屬性,父類的私有成員繼承到子類中不可訪問

3.私有繼承 父類的公有成員繼承到子類中是私有屬性,父類的保護成員繼承到子類中是私有屬性,父類的私有成員繼承到子類中不可訪問

公有成員保護成員私有成員

公有繼承公有成員保護成員不可訪問成員(通過基類接口訪問)

保護繼承保護成員保護成員不可訪問成員(通過基類接口訪問)

私有繼承私有成員私有成員不可訪問成員(通過基類接口訪問)

在類的內部:只有父類的私有成員不能訪問。

在類的外部:只能訪問該對象的公有成員

多層繼承

A繼承自B,B繼承自C,可以得出,A繼承了C,繼承具有傳遞性多重繼承

一個類繼承自多個父類

如何多重繼承?

class 子類名 :public 父類1名, public 父類2名...

{

子類成員....

};

多重繼承構造函數的順序?

一定先從左到右依次調用父類的構造函數,再調用自己的構造函數析構的順序相反。

多重繼承會引發二義性,如何解決?

方法1:在調用具有二義性的成員函數時,指明函數的作用域,到底是從哪個基類繼承而來的。

方法2:虛繼承

C++使用虛擬繼承(Virtual Inheritance),解決從不同途徑繼承

來的同名的數據成員在內存中有不同的拷貝造成數據不一致問題,

將共同基類設置為虛基類。這時從不同的路徑繼承過來的同名數據成員

在內存中就只有一個拷貝,同一個函數名也只有一個映射。

繼承的關系

has-a 有什么。 組合關系不能構成繼承關系 is-a 是什么, 能構成繼承關系

like-a 像什么一樣 不能構成繼承關系 as---a 作為實現手段 不能構成繼承關系總結:

當類中有成員變量是其他類的對象的時候,先從上到下依次構造對象成

員,再調用自己的構造函數。

析構的順序相反。

當類中既有多重繼承,又有成員變量是其他類的對象,先從左到右依次調用父類構造函數,再從上到下

依次構造對象成員,最后調用自己的構造函數。

上一篇:嵌入式學習筆記:進程間的通信方式總結

下一篇:嵌入式學習筆記:類與封裝基礎入門知識分享

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 电影白上之黑| cctv16节目表今天内容| 王复蓉| 巴霍巴利王2国语版免费中文版| 77316电影| 练习曲电影| 吉泽明步 番号| 我爱我爹全集高清版免费观看| 恋爱选举巧克力| 人民的名义电视剧免费版| 林黛玉进贾府人物形象分析 | the bodyguard| 削发| 我的1919 电影| 地球的宇宙环境教学反思| 杨玉环秘史| 和风有关的四字成语| 白鲸 电影| 电影《忌讳》完整版| 疯狂愚蠢的爱| 10元人民币图片| 璐·德·拉格| 三人行菲律宾| 嗯啊不要啊啊| 龙的新娘电视剧全集| cgtn news| abo血型鉴定实验报告| 孙菂| 红灯区免费看| 四级词汇电子版| 嗯~啊~快点死我男男视频| 石璐| 武林外史电视剧免费观看| 电影《塔蒂亚娜1》演员表| 高纤维食物一览表| 同妻俱乐部| 十一码复式22块钱中奖对照表| 免费播放电影大全免费观看| 历史转折中的| 违规吃喝研讨发言材料| 大理旅游地图|