析構函數為什么是虛函數 為什么要用虛函數?
為什么要用虛函數?當使用基類指針指向不同派生類的對象時,如果基類指針調用其虛成員函數,則會調用實際指向該對象的成員函數,而不是基類中定義的成員函數(只要派生類重寫成員函數即可)。如果它不是虛函數,則無
為什么要用虛函數?
當使用基類指針指向不同派生類的對象時,如果基類指針調用其虛成員函數,則會調用實際指向該對象的成員函數,而不是基類中定義的成員函數(只要派生類重寫成員函數即可)。如果它不是虛函數,則無論基類指針指向哪個派生類對象,都將調用在基類中定義的函數。
虛函數的定義?
1. 虛函數的概念
虛函數是用virtual關鍵字聲明的基類函數。如果一個函數在基類中被指定為virtual,并且在派生類中有該函數的另一個定義,編譯器將知道我們不希望靜態(tài)連接該函數。我們真正需要的是根據調用函數的對象的類型來選擇在程序的特定位置調用哪個函數。
2. Define
語法:virtual function return type function name(parameter table){function body}
虛擬函數必須是基類的非靜態(tài)成員函數,其訪問權限可以是private、protected或public。虛函數的一般形式在基類的類定義中定義:
class基類名{
…
虛返回值類型函數名(參數列表)在派生類中重載;]};