![](/img/trans.png)
[英]What happens when a pure virtual function is called on an instance of the parent class in which it is declared?
[英]what happens if I initialize a virtual function other than 0? will it create a pure virtual function or what else happens in memory?
我為虛擬 function 創建了一個定義,並用 (=1) 對其進行了初始化,當我編譯一個項目時,它得到了成功編譯。 因為它編譯成功了,所以我想知道實際發生了什么。 它會創建一個純虛擬 function 還是發生其他任何事情。
沒有將虛擬 function 初始化為一個值這樣的事情。 語法= 0
是純說明符,而不是初始值設定項。 被賦予特殊意義的是特殊語法; 它指定虛擬 function 是純虛擬 function 並且必須由繼承自它的任何類實現。
= 1
在virtual
function 聲明之后在 C++ 中沒有語法意義,因此格式不正確。 如果您沒有收到編譯錯誤,那么您的編譯器要么有問題,要么根本沒有“初始化” virtual
function。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.