簡體   English   中英

如果我初始化一個非 0 的虛擬 function 會發生什么? 它會創建一個純虛擬 function 還是 memory 中會發生什么?

[英]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 並且必須由繼承自它的任何類實現。

= 1virtual function 聲明之后在 C++ 中沒有語法意義,因此格式不正確。 如果您沒有收到編譯錯誤,那么您的編譯器要么有問題,要么根本沒有“初始化” virtual function。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM