第十三章 類繼承(4)c++的三種繼承方式

(四)c++的三種繼承方式

c++有三種繼承方式,分別是公有繼承,私有繼承和保護繼承。

(1)公有繼承

這是最常用的一種繼承方式,建立的就是is-a的關係。公有繼承中,派生類可以使用基類的公有成員,但不能訪問私有成員。公有繼承不改變基類的public,protected和private,也就是說基類的私有成員和保護成員仍然是派生類的私有成員(派生類也不能直接訪問)和保護成員(派生類可以直接訪問),基類的公有成員仍然是公有成員。

(2)私有繼承

這種繼承方式是很“自私”的,派生類將基類的公有成員和保護成員變成了自己的私有成員,而基類的私有成員當然依然是私有成員(不止外面不能訪問,派生類都不可以直接訪問)。

(3)保護繼承

原先的public變成了protectedprotected保持不變。也就是原來基類中公有的成員變成了本類中的保護成員(只有友元,派生類,自己可以訪問)。

(4)總結

繼承,就是在原有的類的基礎上產生了一個新的類,用不同的繼承方式來繼承,則產生的新的類的訪問可見性是不同的,公有,私有,保護繼承說的就是基類的數據被派生類繼承過來之後,訪問權限發生了什麼改變,其中,改變最小的就是公有繼承(沒有改變),改變最大的是私有繼承(將公有成員和保護成員全部變成了自己的私有成員)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章