虛函數(shù)的概念與作用 什么是虛函數(shù)?
什么是虛函數(shù)?虛擬函數(shù)定義:如果在基類中指定了一個函數(shù),而在派生類中有另一個函數(shù)定義,編譯器將知道我們不想靜態(tài)連接函數(shù)。我們真正需要的是根據(jù)調(diào)用函數(shù)的對象的類型來選擇在程序的特定位置調(diào)用哪個函數(shù)。功能
什么是虛函數(shù)?
虛擬函數(shù)定義:如果在基類中指定了一個函數(shù),而在派生類中有另一個函數(shù)定義,編譯器將知道我們不想靜態(tài)連接函數(shù)。我們真正需要的是根據(jù)調(diào)用函數(shù)的對象的類型來選擇在程序的特定位置調(diào)用哪個函數(shù)。
功能:用專業(yè)術語解釋虛擬功能的功能就是實現(xiàn)多態(tài)性,多態(tài)性就是將接口和實現(xiàn)分開;用可視化語言解釋虛擬功能的功能就是用常用的方法來實現(xiàn),但由于個體差異,采用不同的策略。
什么是虛函數(shù)和純虛函數(shù),有什么區(qū)別?
虛擬函數(shù)和純虛擬函數(shù)都可以在其子類中重寫。它們之間的區(qū)別在于:(1)純虛函數(shù)只有定義,沒有實現(xiàn),虛函數(shù)既有定義又有實現(xiàn)代碼。純虛函數(shù)一般沒有代碼實現(xiàn)部分,如virtual void print()=0,而一般虛函數(shù)必須有代碼實現(xiàn)部分,否則函數(shù)將是未定義的。Virtual void print(){printf(“this is Virtual functionn”)}(2)包含純虛函數(shù)的類不能定義其對象,而包含虛函數(shù)的類可以定義其對象。