C++繼承類成員訪問權(quán)限修飾符詳解
1. 前言
C++提供了三個(gè)修飾符來限定類成員的被訪問權(quán)限,分別是public
,protected
, private
. 通過限定訪問權(quán)限,可以達(dá)到程序編寫者想要解決的安全問題和權(quán)限問題。這種權(quán)限的設(shè)置對(duì)于安全是非常必要的。
2. 不同修飾下的類成員被訪問權(quán)限
public
:被public修飾的類成員可以在任何地方被訪問到。protected
:被protected修飾的類成員可以在類內(nèi)部,子類內(nèi)部和友元函數(shù)訪問到。但不能通過類對(duì)象訪問。private
:被private修飾的類成員可以在類內(nèi)部和友元函數(shù)訪問到,但不能在子類和通過類對(duì)象訪問。
可以看出:
protected和private的區(qū)別是:private修飾的不能被繼承到子類種訪問。
protected和public的區(qū)別是:public修飾的可以直接通過類對(duì)象訪問。
3. 繼承時(shí)的屬性變化
他們之間經(jīng)過繼承后的結(jié)合關(guān)系如下:
public | protectded | private | |
---|---|---|---|
public | public | protected | private |
protected | protected | protected | private |
private | private | private | private |
4. protected的作用
加入基類中的某個(gè)函數(shù),我們不想將其暴漏,所以不能設(shè)計(jì)為public,但又想在子類中能夠訪問到,這時(shí)就可以使用protected修飾,子類繼承時(shí)可以訪問到。
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
淺談Qt信號(hào)槽與事件循環(huán)的關(guān)系
本文主要介紹了Qt信號(hào)槽與事件循環(huán)的關(guān)系,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Qt信號(hào)與槽知識(shí)點(diǎn)總結(jié)歸納
信號(hào)和槽是一種高級(jí)接口,應(yīng)用于對(duì)象之間的通信,它是QT的核心特性,下面這篇文章主要給大家介紹了關(guān)于Qt信號(hào)與槽知識(shí)點(diǎn)總結(jié)歸納的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12C++實(shí)現(xiàn)寵物商店信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)寵物商店信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03C語言 完整游戲項(xiàng)目坦克大戰(zhàn)詳細(xì)代碼
《坦克大戰(zhàn)》以二戰(zhàn)坦克為題材,既保留了射擊類游戲的操作性,也改進(jìn)了射擊類游戲太過于復(fù)雜難玩的高門檻特點(diǎn),集休閑與競技于一身。經(jīng)典再度襲來,流暢的畫面,瘋狂的戰(zhàn)斗,讓玩家再次進(jìn)入瘋狂坦克的世界。玩家的目標(biāo)是控制坦克躲避危險(xiǎn),消滅掉所有的敵人即可進(jìn)入下一關(guān)2021-11-11C語言數(shù)據(jù)結(jié)構(gòu)通關(guān)時(shí)間復(fù)雜度和空間復(fù)雜度
對(duì)于一個(gè)算法,其時(shí)間復(fù)雜度和空間復(fù)雜度往往是相互影響的,當(dāng)追求一個(gè)較好的時(shí)間復(fù)雜度時(shí),可能會(huì)使空間復(fù)雜度的性能變差,即可能導(dǎo)致占用較多的存儲(chǔ)空間,這篇文章主要給大家介紹了關(guān)于C語言時(shí)間復(fù)雜度、空間復(fù)雜度的相關(guān)資料,需要的朋友可以參考下2022-04-04C++ Thread實(shí)現(xiàn)簡單的socket多線程通信
本文主要介紹了C++ Thread實(shí)現(xiàn)簡單的socket多線程通信,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07C++ 中 <iterator> <functional>&nbs
這篇文章主要介紹了C++ 中 <iterator> <functional> <numeric> 庫好用的函數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-11-11C++?OpenCV實(shí)現(xiàn)白平衡之完美反射算法
完美反射算法是白平衡各種算法中較常見的一種,比灰度世界算法更優(yōu)。本文將利用C++和OpenCV實(shí)現(xiàn)白平衡中的完美反射算法,需要的可以參考一下2022-05-05