CPP文法[00]繼承指南

來源:互聯網
上載者:User
1 -- C++繼承機制的相關知識點

繼承機制,就是利用已有的資料類型來定義新的資料類型,新資料類型將擁有基類的成員。衍生類別可以從一個基類派生,也可以從多個基類派生。從一個基類派生的繼承稱為單繼承;從多個基類派生的繼承稱為多繼承。

單繼承文法:

class <衍生類別名稱>:<繼承方式><基類名>{//衍生類別新定義成員}; 

多繼承文法:

class <衍生類別名>:<繼承方式1><基類名1>,<繼承方式2><基類名2>,......{//衍生類別新定義成員}; 
2 -- 繼承方式可見度問題

所謂“可見度”指的是“基類成員對衍生類別的可見度”(也就是衍生類別成員函數是否訪問基類成員),以及“基類成員對衍生類別對象的可見度”(也就是衍生類別對象是否可通過"."運算子訪問基類成員)。

衍生類別通過繼承,將基類的成員作為自己的一部分,但不同的繼承方式導致基類的成員在衍生類別中具有不同的屬性。我們首先使用表示,基類成員繼承後將會在衍生類別中表現的訪問屬性:


是單繼承的方式,也沒有涉及派生再次派生的情況。但這兩種情況都可以使用該圖的邏輯進行推導。就像再次派生的情況,只要將衍生類別當做基類看待就可以了。

到這裡我們已經知道了基類中的成員在繼承類中的屬性,那麼再通過一個角度詳述可見度問題。

繼承方式 public繼承 protected繼承 private繼承
基類成員屬性 public protected private public protected private public protected private
基類成員對其對象 可見 不可見 不可見 可見 不可見 不可見 可見 不可見 不可見
基類成員對衍生類別 可見 可見 不可見 可見 可見 不可見 可見 可見 不可見
基類成員對衍生類別對象 可見 不可見 不可見 不可見 不可見 不可見 不可見 不可見 不可見

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.