繼承與派生的概念
繼承的概念
![[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