繼承 基類與派生類

study_all_day發表於2024-04-18

繼承與派生的概念

繼承的概念

![[Pasted image 20231225161957.png]]

派生類

  • 不能訪問基類中的private成員
    ![[Pasted image 20231225162525.png]]

目的

![[Pasted image 20231225162600.png]]

繼承與複合關係

類與類的關係

![[Pasted image 20231225160433.png]]

  • 繼承:是
    • 基類,派生
  • 複合:有

覆蓋和保護成員

覆蓋

![[Pasted image 20231225165054.png]]
一般來說,基類和派生類不定義同名成員變數

類的保護成員

protected

![[2023-12-26 220018.png]]

派生類的建構函式

創造派生類的物件是,需要呼叫基類的建構函式

呼叫的兩種方式

  • 顯性
derived::derived(arg_derived-list):base(arg_base-list)
  • 隱性
    在派生類的建構函式中省略基類的建構函式時,自動呼叫基類的預設建構函式

派生類中訪問靜態成員

![[Pasted image 20231225165248.png]]
![[Pasted image 20231225165427.png]]

訪問控制

![[Pasted image 20231225163736.png]]

public 繼承的複製相容規則

class base{ };
class derived:public base{};
base b;
derived d;
  • b=d
  • base & br=d
  • base * pb=d

相關文章