類與類之間可以通過繼承,來繼承父類的所有成員與函式(但有許可權限制)。
下列特殊函式除外:
基類的建構函式、析構函式和拷貝建構函式。
基類的過載運算子。
基類的友元函式。
格式:
class 派生類:訪問操作符 基類名,訪問操作符 基類.....
訪問操作符:
public:父類成員在子類保持原有訪問級別
private:父類成員在子類變為private成員
protected:父類中 public 變成 protected,其他不變。
子類在構造時 會先呼叫 父類的建構函式 -》 子類的建構函式
子類在析構時 會先呼叫 子類的析構函式 -》 父類的析構函式
如果父類的建構函式是有參建構函式,那麼得用:操作符去賦值:
子類建構函式():父類建構函式(引數列表){
如果派生類中定義了與基類同名成員,那麼訪問派生類同名成員時會遮蔽基類同名成員。
如果要在派生類中使用同名基類成員可以:
派生類物件.基類::同名成員
基類定義的靜態函式會被派生類所共享,因為靜態成員屬於類,在使用前一定要初始化並分配記憶體空間(賦值)
派生類訪問靜態成員:
①類名::成員
②物件名.成員
多繼承的二義性:
如果乙個派生類繼承了兩個基類,而兩個基類各有乙個同名的成員。
如果派生類呼叫該成員就會出錯。所以不建議派生類繼承多個基類。
① 派生類物件可以賦值給基類物件
② 派生類物件可以初始化基類的引用
③ 指向基類的指標也可以指向派生類
c++編譯器在執行乙個物件時,是根據物件的型別來執行物件對應類的函式。那麼乙個基類的指標指向派生類的物件時,則呼叫時會呼叫基類的函式。
C 類的繼承
繼承是物件導向程式設計的主要特徵之一,它可以讓你重用 可以節省程式設計的時間。1.object類的作用。object object為別名 是所有類的基類,在c 中所有的類都直接或間接繼承於object,如果在乙個類的宣告中沒有指定它繼承於哪個類則是繼承於object類。2.類繼承的實現。以下定義兩個...
C 類的繼承
複習下c 類的繼承,先看下面例子 class a public可以在類內部 派生類 類的例項訪問 protected void test2 protected可以在類內部 派生類訪問 private int m a m a為private,只能在本類使用 class b public a class...
c 類的繼承
類的繼承有三種方式 1 公有繼承 2 私有繼承3 保護繼承 基類中的私有成員在派生類中時隱藏的,只能在基類中訪問 派生類中的成員不能訪問基類中的私有成員,但是可以訪問基類中的公有成員和保護成員。派生類從基類公有繼承時,基類的公有成員和保護成員仍然是派生類中的公有成員和保護成員 私有繼承時,公有成員和...