c++訪問修飾符與繼承關(guān)系詳解
前言
C++提供了三個(gè)修飾符來限定類成員的被訪問權(quán)限,分別是public
、protected
、private
。通過限定訪問權(quán)限,可以達(dá)到程序編寫者想要解決的安全問題和權(quán)限問題。這種權(quán)限的設(shè)置對(duì)于安全是非常必要的。
不同修飾下的類成員被訪問權(quán)限
類成員默認(rèn)訪問權(quán)限為private
public
:被public修飾的類成員可以在任何地方被訪問到。protected
:被protected修飾的類成員可以在類內(nèi)部,子類內(nèi)部和友元函數(shù)訪問到。但不能通過類對(duì)象訪問。private
:被private修飾的類成員可以在類內(nèi)部和友元函數(shù)訪問到,但不能在子類和通過類對(duì)象訪問。
繼承修飾符的作用
默認(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的作用
加入基類中的某個(gè)函數(shù),我們不想將其暴漏,所以不能設(shè)計(jì)為public,但又想在子類中能夠訪問到,這時(shí)就可以使用protected修飾,子類繼承時(shí)可以訪問到。
到此這篇關(guān)于c++訪問修飾符與繼承關(guān)系的文章就介紹到這了,更多相關(guān)c++訪問修飾符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
數(shù)據(jù)結(jié)構(gòu) 雙向鏈表的創(chuàng)建和讀取詳解及實(shí)例代碼
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu) 雙向鏈表的創(chuàng)建和讀取詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-03-03c++11 多線程編程——如何實(shí)現(xiàn)線程安全隊(duì)列
這篇文章主要介紹了c++ 如何實(shí)現(xiàn)線程安全隊(duì)列,幫助大家更好的理解和學(xué)習(xí)c++的相關(guān)知識(shí),感興趣的朋友可以了解下2020-11-11C++ LeeCode題目:比特位計(jì)數(shù)和買賣股票的最佳時(shí)機(jī)
這篇文章主要介紹了基于C語言計(jì)算比特位計(jì)數(shù)和買賣股票的最佳時(shí)機(jī),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-07-07詳解C 語言項(xiàng)目中.h文件和.c文件的關(guān)系
這篇文章主要介紹了詳解C 語言項(xiàng)目中.h文件和.c文件的關(guān)系的相關(guān)資料,需要的朋友可以參考下2017-05-05C語言實(shí)現(xiàn)繪制貝塞爾曲線的函數(shù)
貝塞爾曲線,又稱貝茲曲線或貝濟(jì)埃曲線,是應(yīng)用于二維圖形應(yīng)用程序的數(shù)學(xué)曲線。本文將利用C語言實(shí)現(xiàn)繪制貝塞爾曲線的函數(shù),需要的可以參考一下2022-12-12