不同繼承方式的基類和派生類特性
| 繼承方式 | 基類特性 | 派生類特性 |
| 公有繼承 | public | public |
| protected | protected | |
| private | 不可訪問(wèn) | |
| 私有繼承 | public | private |
| protected | private | |
| private | 不可訪問(wèn) | |
| 保護(hù)繼承 | public | protected |
| protected | protected | |
| private | 不可訪問(wèn) |
1.理解1
(1)對(duì)于公有繼承方式:
a.基類成員對(duì)其對(duì)象的可見(jiàn)性:公有成員可見(jiàn),其他不可見(jiàn)。這里保護(hù)成員同于私有成員。
b.基類成員對(duì)派生類的可見(jiàn)性:公有成員和保護(hù)成員可見(jiàn),而私有成員不可見(jiàn)。這里保護(hù)成員同于公有成員。
c.基類成員對(duì)派生類對(duì)象的可見(jiàn)性:公有成員可見(jiàn),其他成員不可見(jiàn)。
所以,在公有繼承時(shí),派生類的對(duì)象可以訪問(wèn)基類中的公有成員;派生類的成員函數(shù)可以訪問(wèn)基類中的公有成員和保護(hù)成員。這里,一定要區(qū)分清楚派生類的對(duì)象和派生類中的成員函數(shù)對(duì)基類的訪問(wèn)是不同的。
(2) 對(duì)于私有繼承方式:
a.基類成員對(duì)其對(duì)象的可見(jiàn)性: 公有成員可見(jiàn),其他不可見(jiàn)。
b.基類成員對(duì)派生類的可見(jiàn)性:公有成員和保護(hù)成員可見(jiàn),而私有成員不可見(jiàn)
c.基類成員對(duì)派生類對(duì)象的可見(jiàn)性:所有成員都是不可見(jiàn)的。
所以,在私有繼承時(shí),基類的成員只能由直接派生類訪問(wèn),而無(wú)法再往下繼承。
(3) 對(duì)于保護(hù)繼承方式:
與私有繼承方式相同,兩者的區(qū)別僅在于對(duì)派生類的成員而言,對(duì)基類成員有不同的可見(jiàn)性。
2.理解B2
(1)公有繼承時(shí),水平訪問(wèn)和垂直訪問(wèn)對(duì)基類中的公有成員不受限制。
(2) 私有繼承時(shí),水平訪問(wèn)和垂直訪問(wèn)對(duì)基類中的公有成員也不能訪問(wèn)。
(3) 保護(hù)繼承時(shí),對(duì)于垂直訪問(wèn)同于公有繼承,對(duì)于水平訪問(wèn)同于私有繼承。
(4)對(duì)于基類中的私有成員,只能被基類中的成員函數(shù)和友元函數(shù)訪問(wèn),不能被其他的函數(shù)訪問(wèn)。
3.理解3
在公有繼承時(shí),派生類的成員函數(shù)可訪問(wèn)基類中的公有成員和保護(hù)成員;派生類的對(duì)象僅可訪問(wèn)基類中的公有成員。
新聞熱點(diǎn)
疑難解答