派生類和基類


C++一個主要目標是提供代碼重用,類繼承是實現該目標的重要途徑之一。從一個類派生出另一個類時,原始類稱為基類,繼承類稱為派生類。

1. 派生類對象存儲了基類的數據成員 
2. 派生類對象可以使用基類的方法 

 

關於三種繼承方式的成員訪問權限:

 

 

1. 基類的 private 成員在派生類中是不能被訪問的,如果基類成員不想在類外直接被訪問,但需要在派生類中能訪問,就定義為 protected 。可以看出保護成員限定符是因繼承才出現的。


2. public繼承是一個接口繼承,保持is-a原則,每個父類可用的成員對子類也可用,因為每個子類對象也都是一個父類對象。


3. protetced/private繼承是一個實現繼承,基類的部分成員並非完全成為子類接口的一部分,是 has-a 的關系原則,所以非特殊情況下不會使用這兩種繼承關系,在絕大多數的場景下使用的都是公有繼承。


4. 不管是哪種繼承方式,在派生類內部都可以訪問基類的公有成員和保護成員,基類的私有成員存在但是在子類中不可見(不能訪問)。


5. 使用關鍵字class時默認的繼承方式是private,使用struct時默認的繼承方式是public,不過最好顯示的寫出繼承方式。


6. 在實際運用中一般使用都是public繼承,極少場景下才會使用protetced/private繼承

 

 

參考資料:

https://blog.csdn.net/qq_33724710/article/details/51635331

 


免責聲明!

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



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