1樓:匿名使用者
虛擬函式是baic++多型的一種表現
du例如:子類繼承了
zhi父類的一個函式dao(方法),內
而我們把父類容的指標指向子類,則必須把父類的該函式(方法)設為virturl(虛擬函式)。
使用虛擬函式,我們可以靈活的進行動態繫結,當然是以一定的開銷為代價。
如果父類的函式(方法)根本沒有必要或者無法實現,完全要依賴子類去實現的話,可以把此函式(方法)設為virturl 函式名=0
我們把這樣的函式(方法)稱為純虛擬函式。
如果一個類包含了純虛擬函式,稱此類為抽象類
2樓:利德
虛擬函式是用來實現bai多型的.
在基類中聲du明一個普通的虛函zhi數,你需dao要給它一個實現,如果是純專虛擬函式,就可屬以只有宣告,不要定義.
這樣的作用是虛擬函式定義一個介面,並且提供一個預設的操作,純虛擬函式定義一個介面,但是沒有預設操作,強制繼承它的子類都必須實現自己的操作
c純虛擬函式,C 中純虛擬函式有什麼作用
純虛擬函式就是抽象類函式。宣告是virtual void fn 0 沒有實現體的函式。補充一點,含有純虛擬函式的類是抽象類 純虛擬函式是一種特du殊的虛函zhi數,它的一般格式dao如下 專class 類名 屬 在許多情況下,在基類中不能對虛擬函式給出有意義有實現,而把它說明為純虛擬函式,它的實現留...
有純虛擬函式的類和有虛擬函式的類相比,又有什麼區別
純虛擬函式的類在其派生類中必須定義自己這個函式的版本,而且純虛擬函式是沒有實際意義的,他的目的告知編譯器派生類將會定義自己的版本。類中擁有純虛擬函式表示這個類是抽象類,不存在此類的物件。而虛擬函式僅表示派生類可以定義自己的版本,但是基類也可以有意義,若沒有定義自己的版本,將使用基類的版本。純虛擬函式...
c在父類宣告純虛擬函式怎樣在父類建構函式
不能,就算中bai轉一下也不行,du因為這個zhi時候還虛擬函式表還沒有dao改寫,也就是說版純虛函權 數還沒有實現,函式指標指是空的。這是時序的問題。執行之後會報這個錯誤 libc abi.dylib pure virtual function called 1 2417 abort test而且...