C 學習筆記 公有繼承的三種方式

2021-10-03 10:22:29 字數 393 閱讀 9418

公有繼承有三種方式:純虛函式、普通虛函式和非虛函式。

純虛函式只會繼承介面,普通虛函式和非虛函式會繼承介面和實現。這就意味著即使你為基類的純虛函式設計了預設實現,該實現也並不會繼承。

使用普通虛函式時有時會遇到,子類並不想繼承父類函式的實現,但子類的該函式因為某些原因沒能正確的定義,此時呼叫子類的該函式其實就是呼叫的父類的實現。為了解決這個問題,可以採用的方式一是用純虛函式加預設實現的方式。此時子類僅呼叫了介面,該實現並沒有繼承,仍然需要子類自己定義。二就是使用override關鍵字。override關鍵字指定了哪些成員函式需要重寫,這樣當該函式沒能被正確重寫時,編譯器就會報錯。

還要注意不要在子類中對非虛函式進行定義,如果重新定義,則在具體實現中,例項化的物件實際呼叫的函式將取決於指標被宣告的型別而不是實際指向的型別。

C 繼承的三種方式 公有,私有,保護

公有繼承 public 私有繼承 private 保護繼承 protected 是常用的三種繼承方式。1.公有繼承 public 公有繼承的特點是基類中的公有成員與保護成員在派生類中的屬性仍保持原狀態,即原來是公有成員 保護成員 在派生類中仍是公有成員 保護成員 在該派生類派生出去的子類中可見。而私...

C 的繼承(三種繼承方式)

1.類的3種成員型別 2.三種繼承方式 1.類的三種成員型別 如圖所示 public protected private 三種成員型別,當沒表明型別的時候,預設是private的。類外部的意思是 main 函式啊,或者定義全域性變數的外部空間啊,其他類空間。如 下面的 是出錯的,因為a類的b變數是p...

C 三種繼承方式

公有繼承 public 私有繼承 private 保護繼承 protected 是常用的三種繼承方式。1.公有繼承 public 2.私有繼承 private 私有繼承的特點是基類的公有成員和保護成員都作為派生類的私有成員,並且不能被這個派生類的子類所訪問。3.保護繼承 protected 保護繼承...