c中父類中虛擬函式要全部繼承嗎,C中父類的虛擬函式必須要實現嗎

2021-03-04 04:53:45 字數 2353 閱讀 3186

1樓:聖吻之櫺

全部繼承是什麼意思??繼承了這個類,這個類的方法當然全部有的?你是不是想問是不是應該子類全部實現它的虛擬函式??不用的!只要不是純虛擬函式就可以不用實現,直接用父類的就可以的

c++中父類的虛擬函式必須要實現嗎

2樓:匿名使用者

虛擬函式是自帶實現的,因此派生類中可以選擇實現自己的,也可以直接使用基版類的。

但是純虛擬函式一般權未提供實現,所以派生類基本需要提供實現,但是即使基類提供了預設實現,如果派生類需要進行例項化,那麼派生類還是需要提供實現的。

3樓:匿名使用者

你可以定義純虛擬函式,這部需要實現

c++ 中,類的繼承:父類當使用虛擬函式時候,子類對該函式進行重寫的話,屬於子類成員函式對虛擬函式的覆蓋!

4樓:匿名使用者

可以這麼理解。

換句話說,你呼叫子類的虛擬函式,程式會執行你重寫的**,而不是定義在父類裡的**。

5樓:wssz**x的春天

有沒有**,你這樣我也看不懂!

c++父類中有純虛擬函式,在子類的子類中也需要實現嗎?

6樓:匿名使用者

(1)在main函式中,假設有父類或者子類的例項物件,就須要有父類的虛擬函式的實內現。

(2)在容main函式中,假設沒有父類或者子類的例項物件,能夠不實現父類的虛擬函式。

(3)假設把虛擬函式寫成純虛擬函式,也就不須要實現了。也沒不會發生上述討論。

子類中實現了,子子類就不用實現。

子類沒實現的話,子子類就可能需要實現。

反正沒有實現這個=0的函式的類是無法建立物件的。

所以要例項化的類就要實現。

7樓:匿名使用者

子類中實現了,子子類就不用實現。。。

子類沒實現的話,子子類就可能需要實現。。。

反正沒有實現這個=0的函式的類是無法建立物件的。。。

所以要例項化的類就要實現,***。。。

c++父類中宣告瞭一個虛擬函式以後 是不是在子類 以及子類的子類中 都要宣告並重寫這個函式?

8樓:匿名使用者

我看了一些文獻 是不行的,虛擬函式是c++多型的體現,必須要定義

9樓:匿名使用者

在子類中可以不宣告,但是就無法使用了

10樓:匿名使用者

基類宣告虛擬函式只是提供一個介面,也就是實現多型的關鍵,子類基本都要繼承的,如果有一個子類不需要實現這個函式,說明你的繼承關係有問題,最好改變一下繼承體系

11樓:

虛擬函式宣告只能砸出現在類定義中的函式原型宣告中, 而不能在成員函式實現的時候

由成員函式來呼叫或者是通過指標、引用來訪問虛擬函式。

12樓:匿名使用者

是的,只有在子類中宣告,才能夠在呼叫的時候檢索到子類中重寫函式的資料。

c++中父類中有純虛擬函式,在子類中需要實現,問題:在子類的子類中也需要實現嗎?

13樓:小羊羊

c++中父類中有純虛擬函式,在子類中需要實現,那麼在子類的子類就不用實現了。

如果是子類沒實現的話,子子類就可能需要實現。希望能幫到你

c++中父類中有純虛擬函式,在子類中需要實現,問題:在子類的子類中也需要實現嗎?

14樓:匿名使用者

子類中實現了,子子類就不用實現。。。

子類沒實現的話,子子類就可能需要實現。。。

反正沒有實現這個=0的函式的類是無法建立物件的。。。

所以要例項化的類就要實現,***。。。

基類中定義的虛擬函式,子類中必須要覆蓋嗎?為什麼?

15樓:匿名使用者

要看虛擬函式本身有沒有實現。

存沒有實現的純虛擬函式,那這個基類是不能例項化的。繼承這個基類的子類可以覆蓋也可以不覆蓋其虛擬函式。如果基類中的純虛擬函式在子類中沒有覆蓋,那這個子類還是一個虛類,不能例項化的。

16樓:匿名使用者

如果基類定義的純虛擬函式,那麼子類繼承下來的也是純虛擬函式,如果不給予實現,那麼便不能建立子類的例項,如果基類定義的是非純虛擬函式,那麼子類繼承下來的也是非純虛擬函式。都可以不予實現,因為自動繼承下來了,看你子類的需要。

17樓:匿名使用者

虛擬函式的目的就是在需要的時候實現,從而實現多型,如果必須覆蓋,還要虛擬函式有什麼意義

C中虛繼承和虛解構函式的問題

因為基bai類的解構函式 du不是虛解構函式,zhi所以是根據指標的型別呼叫dao解構函式,而不是根版據指權針指向物件的型別呼叫解構函式。虛擬函式是在基類中被宣告為 virtual,並在派生類中重新定義的成員函式,可實現成員函式的動態過載。當一個類作為基類時,它的解構函式應該為虛解構函式。c 中 解...

關於c派生類中虛擬函式的問題,C 已經在派生類中重定義了抽象類中的純虛擬函式,為什麼還不讓我用派生類定義物件!?

如果是虛擬函式的話,在派生類中重新定義其函式體時,不會導致同名覆蓋.當用基類指標指向派生類物件並呼叫虛擬函式時,執行的是在派生類中重新定義的虛擬函式的函式體.虛擬函式必須要在基類用virtual修飾才能為虛擬函式,派生類若重定義該函專數,則無論是否有屬virtual關鍵字都是虛擬函式。你要判斷派生類...

C中父類的虛方法可不可以被子類的子類重寫

1 如果父類方法沒有加virtual關鍵字,即不是一個虛方法,則在子類中只能隱藏基類方法 new 而不能覆蓋 override 2 如果父類方法加了virtual關鍵字,即它是一個虛方法,在子類中一樣可以隱藏 new 3 如果子類實現了父類相同的方法 相同的方法名稱及簽名 而沒有new,在編譯時會報...