virtual虛方法與Abstract的不同

2022-09-04 19:57:12 字數 407 閱讀 5396

一、virtual方法(虛方法)

virtual 關鍵字用於在基類中修飾方法。virtual的使用會有兩種情況:

情況1:在基類中定義了virtual方法,但在派生類中沒有重寫該虛方法。那麼在對派生類例項的呼叫中,該虛方法使用的是基類定義的方法。

情況2:在基類中定義了virtual方法,然後在派生類中使用override重寫該方法。那麼在對派生類例項的呼叫中,該虛方法使用的是派生重寫的方法。

二、abstract方法(抽象方法)

注:方法重寫時都使用 override 關鍵字

例如:

public

class

myclass }

}public

class

myderived : myclass }

}

虛方法virtual詳解

從c 的程式編譯的角度來看,它和其它一般的函式有什麼區別呢?一般函式在編譯時就靜態地編譯到了執行檔案中,其相對位址在程式執行期間是不發生變化的,也就是寫死了的!而虛函式在編譯期間是不被靜態編譯的,它的相對位址是不確定的,它會根據執行時期物件例項來動態判斷要呼叫的函式,其中那個申明時定義的類叫申明類,...

C 中虛方法 virtual 詳解

前言 在前面的部落格重寫中提到了虛方法和抽象類,本博文詳細介紹下虛方法 當有乙個定義在類中的函式需要在繼承類中實現時,可以使用虛方法,虛方法是使用關鍵字virtual宣告的,虛方法可以在不同的繼承類中有不同的實現,即為基類中定義的允許在派生類中重寫的方法 一般的宣告形式如下 訪問修飾符 virtua...

C 基礎概念 虛方法virtual

在c 中,虛方法就是可以被子類重寫的方法,如果子類重寫了虛方法,則在執行時將執行重寫的邏輯 如果子類沒有重寫虛方法,則在執行時將執行父類的邏輯。虛函式在編譯期間是不被靜態編譯的,它的相對位址是不確定的,它會根據執行時期物件例項來動態判斷要呼叫的函式,其中那個申明時定義的類叫申明類,那個執行時例項化的...