C++的三種繼承方式


1. 公有繼承

當類的繼承方式為公有繼承時,基類的公有和保護成員的訪問屬性在派生類中保持不變,而基類的私有成員不可訪問。

即基類的公有成員和保護成員被繼承到派生類中仍作為派生類的公有和保護成員,派生類的其他成員可以直接訪問它們;

其他外部使用者只能通過派生類的對象訪問繼承來的公有成員;

而無論派生類的成員還是對象都無法訪問基類的私有成員。

2. 私有繼承

當類的繼承方式為私有繼承時,基類的公有和保護成員都以私有成員身份出現在派生類中,而基類的私有成員在派生類中不可訪問。

即基類的公有成員和保護成員被繼承到派生類中作為派生類的私有成員,派生類的其他成員可以直接訪問它們;

但是在類外部通過派生類的對象無法訪問;

而無論派生類的成員還是對象都無法訪問基類的私有成員。

3. 保護繼承

當類的繼承方式為保護繼承時,基類的公有和保護成員都以保護成員身份出現在派生類中,而基類的私有成員在派生類中不可訪問。

即基類的公有成員和保護成員被繼承到派生類中作為派生類的保護成員,派生類的其他成員可以直接訪問它們;

但是在類外部通過派生類的對象無法訪問;

而無論派生類的成員還是對象都無法訪問基類的私有成員。

無論哪種繼承方式,基類的公有和保護成員都可以被派生類的成員訪問。

無論哪種繼承方式,基類的私有成員都不可以被派生類的成員和對象訪問。

只有公有繼承時,基類的公有成員才可以被派生類的對象訪問。

在被繼承時,基類的保護成員及和公有成員行為一致。

在被類的對象訪問時,保護成員和私有成員的行為一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM