天天看點

C++純虛函數和抽象類的一些要點

1. 純虛函數是在其被聲明的類中不被實作的函數。

2. 定義了純虛函數的類是抽象類,可以用來生命變量,但不能用來構造執行個體。

3. 基類中定義了純虛函數,派生類要麼定義這個純虛函數,要麼重複聲明一次這個純虛函數。如果派生類重複聲明了這個純虛函數而沒有實作(定義),那麼派生類也是抽象類。

4. 純虛函數是為了實作多态和動态綁定。類函數的變量與執行個體的綁定都是在運作時。

5. 與純虛函數相比,虛函數是可以被overwrite的函數。基類中定義一個虛函數時,需要給出這個函數的(預設)實作。