<kbd id="daqct"></kbd>

  • <nav id="daqct"></nav>
    <wbr id="daqct"><pre id="daqct"></pre></wbr>
    <wbr id="daqct"></wbr>
    <form id="daqct"><th id="daqct"></th></form>
    更多課程 選擇中心

    C/C++培訓
    達內IT學院

    400-111-8989

    C++學習筆記之訪問控制與繼承

    • 發布:C++培訓
    • 來源:學習筆記
    • 時間:2017-10-10 14:01

    1、訪問控制中有三種角色:基類及其友元,派生類,類用戶(對象);訪問說明符分為public/protected/private,類的成員也相應的分為了3種。

    2、訪問說明符又分為兩種:一個是基類中的成員訪問說明符;另一個是派生類派生列表中的訪問說明符。

    3、以上兩種訪問說明符把類的成員分成了分為了6種:派生類中的public/protected/private成員;派生類的public/protected/private基類及其成員。

    4、接下來我們梳理一下三種角色對上述成員的訪問權限。

    4.1 我們假設只有一個基類,那么它的成員有public/protected/private三種。訪問關系如下表:(有權限簡稱有,無權限簡稱無)

    public成員protected成員private成員

    基類及其友元有有有

    派生類及其友元有有無

    類用戶有無無

    具體來說就是:

    1)基類本身及其友元對基類中任何成員都有訪問權限;

    2)派生類及派生類的友元可以通過派生類的對象訪問基類中受保護的成員,對private成員無訪問權限;

    3)類用戶(由基類定義的對象)只能訪問基類中的public成員。

    4.2 加上派生列表中的訪問說明符之后,訪問的成員加上了派生類的基類,然后,我們看訪問權限有什么變化?

    1)派生列表后的訪問說明符相當于說明了基類屬于派生類的成員類型,舉個例子來說,Class D:public B,那么基類B就相當于D中的public成員,但是需要注意的一點就是,基類中的成員仍然受到基類中的訪問說明符的控制,也就是說,盡管B是public的,但是B中的private成員D仍然沒有權限進行訪問。

    2)因為類及其友元可以訪問本身所有數據成員,所以派生訪問說明符對于派生類的成員(及其友元)能否訪問其直接基類的成員沒有什么影響。所造成的不同點就在于派生類的派生類和派生類的對象訪問權限會有所不同,這時候可以把基類看作是派生類中的成員。

    總結起來就有如下表:

    派生類public派生類protected派生類privatepublic基類protected基類private基類

    派生類及其友元有有有無影響無影響無影響

    派生類的派生類及其友元有有無無影響無影響無

    派生類用戶有無無無影響無無

    5、派生類向基類轉換的可訪問性:能否轉換的關鍵就是基類的公有成員是否對派生類的某種角色(派生類及其友元、派生類的用戶,派生類的派生類及其友元)是否是可訪問的,如果可以訪問,就可以轉換。

    6、關于友元:

    1)友元關系不能繼承,是基類的友元,如果不聲明的話,就不是派生類的友元,也就不能訪問派生類的成員。

    2)基類的友元可以訪問基類中的成員以及派生類中的基類部分。

    7、當然成員的可訪問性也不是一成不變的,使用using聲明就可以改變其訪問性,但是還受到成員訪問說明符的制約。

    8、struct和class的唯一區別就在于默認的訪問權限不同,最好還是顯示聲明訪問權限。

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:C++之const 對指針和引用的影響
    下一篇:談C++計算機編程語言的學習方法

    C語言創建windows窗口實例

    C++回調函數是什么?

    C++ shared_ptr和動態數組

    C語言有哪些關鍵詞,C語言44個關鍵詞大全

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    欧美三级片,白洁外传,第四色播日韩AV第一页,啪啪免费观看大全av 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>