const 寫在函數后頭還=0
2 回答

GCT1015
TA貢獻1827條經驗 獲得超4個贊
const 寫在函數后頭還=0
這里不是const=0,
虛函數表示方法是
virtual 返回值 函數名(參數表)
{
函數體
}
在繼承的時候可以在子類中從新定義這個函數。
如果你的子類中都重新定義了這個函數,那個父類中函數的定義就沒有什么用了所以可以不定義只說明就行,也就是定義為
純虛函數
形如:
virtual 返回值 函數名(參數表)=0;
這里就不用定義實際的函數了。

吃雞游戲
TA貢獻1829條經驗 獲得超7個贊
=0 表示純虛函數
他用來做什么呢??
主要是為了實現晚捆綁,讓子類可以重新定義函數體。以便不同的子類有不同的行為。
為什么一定要這么做和編譯實現有關。原先的習慣寫法會造成早捆綁,即編譯期的捆綁,而現在這樣,如果傳進一個對象,程序會在運行期識別對象所屬子類而表現不同行為。
Thinking in C++對此有很詳細的解釋
另一種用途是設計需要,C++沒有像Java那樣的接口類,而且沒有abstract關鍵字,實現接口或抽象類只能應用虛函數
- 2 回答
- 0 關注
- 813 瀏覽
添加回答
舉報
0/150
提交
取消