首頁 >後端開發 >C++ >C語言中為什麼用「= 0」來初始化純虛函數?

C語言中為什麼用「= 0」來初始化純虛函數?

Patricia Arquette
Patricia Arquette原創
2024-11-26 11:14:10239瀏覽

Why is

解釋純虛函數初始化

在C 中,純虛函數是使用語法「virtual void fun() = 0;」聲明的。 」。這種非常規的「0」初始化引發了對其目的和必要性的疑問。

背景:虛函數和虛函數表

虛函數允許類別繼承不同的方法基於物件類型的實作。條目指向適當的方法實作。的。選擇了這個語法,因為它提供了一個方便的方法來實現兩個重要目標:

1。表示函數是純虛函數,這意味著必須在派生類別中重寫它。沒有純虛函數的專用語法,在嘗試定義預設值為0 的函數時可能會出現混亂。函數並不會設定對應的值vtable 條目為NULL。

以上是C語言中為什麼用「= 0」來初始化純虛函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn