1. 程式人生 > 實用技巧 >C++第二季--04(C++繼承)

C++第二季--04(C++繼承)

C++繼承:

面向物件程式設計中最重要的一個概念是繼承。繼承允許我們依據另一個類來定義一個類,這使得建立和維護一個應用程式變得更加容易。這樣做,達到了重用程式碼功能和提高執行時間的效果。

當建立一個類時,你不要重新編寫新的資料成員和成員函式,只需指定新建的類繼承了一個已有的類的成員即可。這個已有的類稱為基類,新建的類稱為派生類。


基類和派生類

一個類可以派生自多個類,這意味著,它可以從多個基類繼承資料和函式。定義一個派生類,我們使用一個類派生列表來指定基類。


訪問控制和繼承:

派生類可以訪問基類中的所有非私有成員。因此基類成員如果不想被派生類的成員函式訪問,則應在基類中宣告為private.

繼承型別:

我們幾乎不使用protected或private繼承,通常使用public繼承。當使用不同型別的繼承時,遵循以下幾個規則:

  • 公有繼承:當一個類派生自公有基類時,基類的公有成員也是派生類的公有成員,基類的保護成員也是派生類的保護成,基類的私有成員不能直接被派生類訪問,但是可以通過呼叫基類的公有和保護成員來訪問。
  • 保護繼承:當一個類派生自保護基類時,基類的公有和保護成員將成為派生類的保護成員。
  • 私有繼承:當一個類派生自私有基類時,基類的公有和保護成員將成為派生類的私有成員。

多繼承:

多繼承即一個子類可以有多個父類,它繼承了多個父親的特性。


環狀繼承(虛擬繼承):

這種繼承方式會出現派生類的派生類建立兩個物件,要解決這個問題就要用虛擬繼承。