C++繼承類成員訪問權(quán)限修飾符詳解
1. 前言
C++提供了三個修飾符來限定類成員的被訪問權(quán)限,分別是public
,protected
, private
. 通過限定訪問權(quán)限,可以達到程序編寫者想要解決的安全問題和權(quán)限問題。這種權(quán)限的設(shè)置對于安全是非常必要的。
2. 不同修飾下的類成員被訪問權(quán)限
public
:被public修飾的類成員可以在任何地方被訪問到。protected
:被protected修飾的類成員可以在類內(nèi)部,子類內(nèi)部和友元函數(shù)訪問到。但不能通過類對象訪問。private
:被private修飾的類成員可以在類內(nèi)部和友元函數(shù)訪問到,但不能在子類和通過類對象訪問。
可以看出:
protected和private的區(qū)別是:private修飾的不能被繼承到子類種訪問。
protected和public的區(qū)別是:public修飾的可以直接通過類對象訪問。
3. 繼承時的屬性變化
他們之間經(jīng)過繼承后的結(jié)合關(guān)系如下:
public | protectded | private | |
---|---|---|---|
public | public | protected | private |
protected | protected | protected | private |
private | private | private | private |
4. protected的作用
加入基類中的某個函數(shù),我們不想將其暴漏,所以不能設(shè)計為public,但又想在子類中能夠訪問到,這時就可以使用protected修飾,子類繼承時可以訪問到。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C語言數(shù)據(jù)結(jié)構(gòu)通關(guān)時間復(fù)雜度和空間復(fù)雜度
對于一個算法,其時間復(fù)雜度和空間復(fù)雜度往往是相互影響的,當(dāng)追求一個較好的時間復(fù)雜度時,可能會使空間復(fù)雜度的性能變差,即可能導(dǎo)致占用較多的存儲空間,這篇文章主要給大家介紹了關(guān)于C語言時間復(fù)雜度、空間復(fù)雜度的相關(guān)資料,需要的朋友可以參考下2022-04-04C++ Thread實現(xiàn)簡單的socket多線程通信
本文主要介紹了C++ Thread實現(xiàn)簡單的socket多線程通信,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07C++ 中 <iterator> <functional>&nbs
這篇文章主要介紹了C++ 中 <iterator> <functional> <numeric> 庫好用的函數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11