c++中的虛函式的作用主要是實現了多型的機制,關於多型,簡而言之就是用父型別別的指標指向其子類的例項,然後通過父類的指標呼叫實際子類的成員函式。
2、必須依賴物件呼叫
可以設定為虛函式的:
析構函式 普通的成員函式
不可以設定為虛函式的:
普通函式:與類無關,連物件都不存在,物件不存在實現多型是不可能的。普通函式只能被overload,不能被override
構造:先構造,才生成物件;建構函式設定為虛函式時,物件還沒有生成,所以不可以設定為虛函式。
static修飾的成員方法:不依賴 物件呼叫
.友員函式:友員函式不是類的成員函式,c++不支援友員被繼承,所以不能為virtual。
注意:空指標不能呼叫虛函式,因為虛指標在建立物件時建立,沒有建立物件就沒有虛指標,那麼用空指標呼叫虛函式就會崩潰!
C 函式中那些不可以被宣告為虛函式的函式
常見的不不能宣告為虛函式的有 普通函式 非成員函式 靜態成員函式 內聯成員函式 建構函式 友元函式。1 為什麼c 不支援普通函式為虛函式?普通函式 非成員函式 只能被overload,不能被override,宣告為虛函式也沒有什麼意思,因此編譯器會在編譯時邦定函式。2 為什麼c 不支援建構函式為虛函...
C 函式中那些不可以被宣告為虛函式的函式
1 頂層函式 普通函式 多型的執行期行為體現在虛函式上,虛函式通過繼承方式來體現出多型作用,頂層函式不屬於成員函式,是不能被繼承的。2 建構函式 1 建構函式不能被繼承,因而不能宣告為virtual函式。2 反證法 呼叫建構函式後才能生成乙個物件。假設建構函式是虛函式,那麼它存在於虛函式表中,那麼建...
那些函式們
abs number 返回指定數的絕對值 bytes string,encoding errors 對指定的字串進行編碼,並以指定的方式處理錯誤 cmath.sqrt number 返回平方根 可用於負數 float object 將字串或數字轉換為浮點數 help object 提供互動式幫助 i...