virtual與abstract的區別

2021-07-06 08:25:12 字數 754 閱讀 1678

1、virtual函式宣告時需要有實現,子類可以重寫該函式,也可以不重寫,直接從基類繼承;

2、abstract函式宣告時沒有實現,子類必須重寫該函式。

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace keywords

public void testoverload()

}class myderived : mybase

// 與基類無關重寫

析構函式virtual與非virtual區別

析構函式virtual與非virtual區別 作為通常的原則,如果乙個類定義了虛函式,那麼它的析構函式就應當是virtual的。因為定義了虛函式則隱含著 這個類會被繼承,並且會通過基類的指標指向子類物件,從而得到多型性。這個類可能會被繼承,並且會通過基類的指標指向子類物件 因此基類的析構函式是否為虛...

OO物件導向 抽象類abstrac

抽象類 抽象類的定義,抽象類要用abstract修飾 抽象類裡面的抽象方法也要用abstract修飾,寫法如下 抽象類中不能構造方法,否則會報錯。抽象方法就是一種約束,它只有宣告,沒有實現,需要繼承抽象類的子類來實現該方法。此外,抽象類的所有方法繼承了他的子類,都必須要實現他的方法,除非子類也是抽象...

abstract抽象與virtual虛函式

我們知道把類或函式宣告為sealed可以封裝類或函式 還有一種情況是,基類不具有實現任何執行 只是做了個定義,在c 中,通過把類或方法宣告為abstract來實現抽象類和抽象方法,抽象類不能例項化,抽象方法沒有具體執行 必須在非抽象的派生類中重寫。結果顯示 父類建構函式 子類建構函式 我是子類 注意...