當前位置:首頁 » 密碼管理 » 派生類對基類訪問

派生類對基類訪問

發布時間: 2023-03-12 13:20:51

① c++中派生類如何訪問基類成員變數

C++中派生類對基類成員的訪問形式主要有以下兩種:
1、內部訪問:由派生類中新增成員對基類繼承來的成員的訪問。
2、對象訪問:在派生類外部,通過派生類的對象對從基類繼承來的成員的訪問。

三種繼承方式下,派生類對基類成員的訪問規則。

1、私有繼承的訪問規則

② 派生類的對象對基類中的什麼成員是可以訪問的

C++中派生類對基類成員的三種訪問規則:

1、私有繼承的訪問規則

當類的繼承方式為私有繼承時,基類的public成員和protected成員被繼承後成為派生類的private成員,派生類的其它成員可以直接訪問它們,但是在類的外部通過派生類的對象無法訪問。

基類的private成員在私有派生類中是不可直接訪問的,所以無論是派生類的成員還是通過派生類的對象,都無法直接訪問從基類繼承來的private成員,但是可以通過基類提供的public成員函數間接訪問。

2、公有繼承的訪問規則

當類的繼承方式為公有繼承時,基類的public成員和protected成員被繼承到派生類中仍作為派生類的public成員和protected成員,派生類的其它成員可以直接訪問它們。但是,類的外部使用者只能通過派生類的對象訪問繼承來的public成員。

基類的private成員在私有派生類中是不可直接訪問的,所以無論是派生類成員還是派生類的對象,都無法直接訪問從基類繼承來的private成員,但是可以通過基類提供的public成員函數直接訪問它們。

3、保護繼承的訪問規則

當類的繼承方式為保護繼承時,基類的public成員和protected成員被繼承到派生類中都作為派生類的protected成員,派生類的其它成員可以直接訪問它們,但是類的外部使用者不能通過派生類的對象訪問它們。

基類的private成員在私有派生類中是不可直接訪問的,所以無論是派生類成員還是通過派生類的對象,都無法直接訪問基類中的private成員。

(2)派生類對基類訪問擴展閱讀

基類和派生類是一個相對的關系。基類和派生類反映了類與類的繼承關系,是相對而言的。基類又稱父類,是被派生類繼承的類。派生類又稱子類,是從一個已有類的基礎上創建的新類,新類包含基類的所有成員,並且還添加了自己的成員。

假設有兩個類A和B,A和B都需要實現一個列印的功能,原始的做法是A寫一個列印函數,B也寫一個列印函數。兩個類還好可以寫,但多了就特別麻煩。

這個時候我們就可以寫一個類C,C裡面寫一個列印函數。A和B分別繼承C,這樣A和B就不要寫列印函數了。這樣即節省了代碼,又優化了結構。上面的情況,C是A和B的基類,A和B是C的派生類。

③ 派生類的對象對它的基類成員中( )是可以訪問的。

派生類的對象對它的基類成員中(A、公有集成的公有成員)是可以訪問的。

只要是派生類,都可以叢基類中繼承,除非把基類的構造函數定義為私有的,這樣派生類無法構造。

在類的層次設計中,可以發現一些普遍的特性,即派生類總是同基類有「kind of」關系。另一個值得注意點是Book既是派生類,也是基類。



(3)派生類對基類訪問擴展閱讀:

每個派生類的說明是在基類的說明之後說明的,因此對於基類僅只給出一個前向引用的說明是不夠的,必須是完全的說明。一個類可以作為很多特別類的基類。

在繼承中,派生類含有基類的成員加上任何你新增的成員。結果派生類可以引用基類的成員(除非這些成員在派生類中重定義了)。當在派生類中重定義直接基類或間接基類的成員時,可以使用范圍分辨符(::)引用這些成員。

④ 基類對象可以直接訪問派生類成員嗎

開發語言
C++中派生類對基類成員的三種訪問規則

冬雪如春
原創
關注
2點贊·4286人閱讀
C++中派生類對基類成員的訪問形式有兩種:
1.內部訪問:派生類新增成員對從基類繼承過來成員進行訪問
2.對象訪問:在派生類外部,通過派生類對象對從基類繼承過來的成員進行訪問
下面看看派生類對基類的成員的訪問規則:
1.派生類私有繼承了基類規則(private)
當類的繼承方式是私有繼承(private)時,基類中的public和protected成員被繼承後稱為派生類的私有成員,派生類的成員可以直接訪問他們,但是在類的外部,通過派生類的對象是不可以對其進行訪問的。還有基類中的私有成員在派生類中是不可以直接訪問的,無論是派生類的成員還是派生類的對象都無法訪問基類中的私有成員。但可以通過基類提供的public 函數對其進行間接的訪問。

2.派生類保護繼承了基類規則:(protected)
當類的繼承方式是保護繼承(protected)時,基類中的public和protected成員被繼承後稱為派生類的保護成員,派生類的成員可以直接訪問他們,但是在類的外部,通過派生類的對象是不可以對其進行訪問的。還有基類中的私有成員在派生類中是不可以直接訪問的,無論是派生類的成員還是派生類的對象都無法訪問基類中的私有成員。但可以通過基類提供的public 函數對其進行間接的訪問。

3.派生類公有繼承了基類規則:(public)
當類的繼承方式是公有繼承(public)時,基類中的public和protected成員被繼承後稱為派生類的公有成員和保護成員,派生類的成員可以直接訪問他們,但是在類的外部,通過派生類的對象只能進行訪問繼承過來的public成員。還有基類中的私有成員在派生類中是不可以直接訪問的,無論是派生類的成員還是派生類的對象都無法訪問基類中的私有成員。但可以通過基類提供的public 函數對其進行間接的訪問。

熱點內容
sublimepython環境配置 發布:2025-05-20 02:36:13 瀏覽:577
cntv文件夾 發布:2025-05-20 02:33:20 瀏覽:218
vs設置編譯提示 發布:2025-05-20 02:33:10 瀏覽:216
android服務是什麼 發布:2025-05-20 02:19:31 瀏覽:201
什麼手機可以升到安卓十 發布:2025-05-20 02:19:24 瀏覽:570
手機U盤安卓的系統目錄里有什麼 發布:2025-05-20 02:13:08 瀏覽:849
python多進程鎖 發布:2025-05-20 02:12:23 瀏覽:293
n皇後演算法 發布:2025-05-20 01:49:15 瀏覽:66
如何配置圖形電腦 發布:2025-05-20 01:47:51 瀏覽:393
及解壓 發布:2025-05-20 01:44:49 瀏覽:416