抽象函式(abstract)存在於抽象類中,他必須要在子類中得到實現,自身沒有**體。
虛函式(virtual)可以在子類中重寫,自身是有**體的,並未強制要求在子類中重寫。
using如果沒有在b中對fun2()進行重寫,將會報錯。system;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
system.threading.tasks;
namespace
抽象函式與虛函式的例項
public
abstract
void
fun2();
}class
b : a
public
override
void
fun2()
}class
program}}
純虛函式與抽象函式
純虛函式格式 virtual 函式型別 函式名 引數列表 0 抽象函式定義 總結 include using namespace std 稱明抽象類基類shape class shape virtual float volume const virtual void shapename const ...
虛函式與抽象類
抽象類不是實際存在的類,所以你不能定義乙個抽象類的物件,但是卻可以定義乙個指向抽象類的指標。抽象類僅僅起到了為派生類提供乙個介面的作用,這個介面類的純虛函式可以沒有任何作用,派生類將這些純虛函式繼承過來,然後給予不同的功能,而多型性又保證了使用者在輸入不同的數字時呼叫不同的虛函式。乙個虛函式通過初始...
虛函式與抽象基類
當某個虛函式通過指標或者引用呼叫時,編譯器產生的 直到執行時才能確定應該呼叫哪個版本的函式,被呼叫的函式是與繫結到指標或引用上的物件的動態型別相匹配的那個。必須注意的是,動態繫結只有當我們通過指標或引用呼叫虛函式時才會發生。如果通過普通的型別 非引用非指標 的表示式呼叫虛函式時,編譯器就會將呼叫的版...