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

