關於繼承的幾個誤區

 

1. c++有三種繼承方式,public ,protected ,private ,無論哪一種繼承,子類都會把父類的所有的成員變量和成員函數給繼承下來,只是對於不同的繼承方式,父類的成員在子類中的可訪問性不同而已

 

2.對於三種繼承來說,繼承下來的成員在子類中的訪問控制符發生了變化(這會影響到繼承於該子類的子類)

2.1.public 繼承:父類的public和protected成員作爲子類的成員時,保持不變,而父類的private成員在子類中是不可訪問的

2.2 private繼承:父類的public和protected成員作爲子類的private成員,而父類的private成員在子類中是不可訪問的

2.3 protected繼承:父類的public和protected成員作爲子類的protected成員,而父類的private成員在子類中是不可訪問的

 

2.4對於繼承下來的private成員,雖然是不可以訪問的,但是子類仍然可以調用父類的函數來訪問它們

 

3.類中的一個成員可以是private,protected或public

3.1 如果一個成員是private,它的名字將只能由其聲明所在類的成員函數和友元使用

3.2 如果一個成員是protected,它的名字只能由其聲明所在類的成員函數和友元,以及由該類的派生類的成員函數和友元使用

3.3 如果一個成員是public,它的名字可以由任何函數使用

3.4 這種訪問控制被一致性地用於所有的名字,一個名字引用的是什麼並不影響對它的使用控制

 

 

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