c++訪問修飾符與繼承關(guān)系詳解
前言
C++提供了三個修飾符來限定類成員的被訪問權(quán)限,分別是public
、protected
、private
。通過限定訪問權(quán)限,可以達(dá)到程序編寫者想要解決的安全問題和權(quán)限問題。這種權(quán)限的設(shè)置對于安全是非常必要的。
不同修飾下的類成員被訪問權(quán)限
類成員默認(rèn)訪問權(quán)限為private
public
:被public修飾的類成員可以在任何地方被訪問到。protected
:被protected修飾的類成員可以在類內(nèi)部,子類內(nèi)部和友元函數(shù)訪問到。但不能通過類對象訪問。private
:被private修飾的類成員可以在類內(nèi)部和友元函數(shù)訪問到,但不能在子類和通過類對象訪問。
繼承修飾符的作用
默認(rèn)為private
繼承
繼承方式 | 基類的public成員 | 基類的protected成員 | 基類的private成語 | 繼承引起的訪問控制關(guān)系變化概括 |
---|---|---|---|---|
public繼承 | 仍為public成員 | 仍為protected成員 | 不可見 | 基類的非私有成員在子類中的訪問屬性不變 |
protected繼承 | 變?yōu)閜rotected成員 | 仍為protected成員 | 不可見 | 基類的非私有成員都為子類的保護(hù)成員 |
private繼承 | 變?yōu)閜rivate成員 | 變?yōu)閜rivate成員 | 不可見 | 基類的非私有成員都為子類的私有成員 |
總結(jié)
- 基類的私有成員在子類中不可見
- 基類的非私有成員在子類中的最高訪問權(quán)限限制為小于繼承方式
protected的作用
加入基類中的某個函數(shù),我們不想將其暴漏,所以不能設(shè)計為public,但又想在子類中能夠訪問到,這時就可以使用protected修飾,子類繼承時可以訪問到。
到此這篇關(guān)于c++訪問修飾符與繼承關(guān)系的文章就介紹到這了,更多相關(guān)c++訪問修飾符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
數(shù)據(jù)結(jié)構(gòu) 雙向鏈表的創(chuàng)建和讀取詳解及實例代碼
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu) 雙向鏈表的創(chuàng)建和讀取詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03C++ LeeCode題目:比特位計數(shù)和買賣股票的最佳時機
這篇文章主要介紹了基于C語言計算比特位計數(shù)和買賣股票的最佳時機,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2021-07-07