純虛類和抽象類有什麼關係,純虛類是什麼

2021-04-19 01:29:43 字數 2611 閱讀 4520

1樓:匿名使用者

c++裡沒有來

純虛類這麼一說,倒是源有虛基類這bai麼個說法,抽象類是指du包含一個純虛zhi函式的類,這種類不能被例項dao化,但允許宣告一個指向抽象類的物件的指標.抽象類派生的類如果不對基類的純虛擬函式進行重寫的話,派生類依然是一個抽象類,只有它重寫了其基類的純虛擬函式之後它才不再是一個抽象類

2樓:匿名使用者

抽象類 是指有純需函式的類,這種類只能作為基類使用

純虛類是什麼東西沒聽說過....

c++中是否有虛類的說法,和純虛類和一般抽象類有什麼區別?

3樓:起個名子真挺難

是類似的。同一個概念。

純虛的不能直接例項化,只能被繼承後由子類例項化,以實現多型等。功能上也與介面類似。

純虛類是什麼

4樓:涼念若櫻花妖嬈

純虛類是一種特殊的虛擬函式,定義格式如下:

class 《類名》

其中,《函式名》是什麼是純虛擬函式名。他的實現用賦值偽來表示,被定義為無

虛基類與抽象類的問題

5樓:匿名使用者

當繼承關係自頂來至自

下出現菱形路線時,bai最底層的派生類必然du會重複繼承最頂zhi層基類的成dao員,所以定義虛基類是為了解決這種重複繼承的問題。抽象類是包含純虛擬函式的類,它不能定義物件,在類中定義虛擬函式是為了解決基類的指標能夠呼叫派生類的函式也就是所謂的「多型性」,讓一個命令實現多種響應。

6樓:匿名使用者

虛基類是相對bai於它的派生類du而言的,它本身可zhi以是一個普通的類dao。回

只有它的答派生類虛繼承它的時候,它才稱作虛基類,如果沒有虛繼承的話,就稱為基類。比如類b虛繼承於類a,那類a就稱作類b的虛基類,如果沒有虛繼承,那類b就只是類a的基類。

虛繼承主要用於一個類繼承多個類的情況,避免重複繼承同一個類兩次或多次。

例如 由類a派生類b和類c,類d又同時繼承類b和類c,這時候類d就要用虛繼承的方式避免重複繼承類a兩次。

而抽象類是指帶有有一個或一個以上的純虛擬函式的類。抽象類一般值用於繼承,不能定義類物件,但可以定義類指標和引用。

什麼叫做抽象類,抽象類有何作用,抽象類的派生類是否一定要給出純虛擬函式的實現?

7樓:匿名使用者

抽象類是含有純虛擬函式的類並沒有實現純虛擬函式函式體的類;

作用:抽象類回顧名思義是答一個抽象的概念,具體沒有講他怎麼做;

他是在子類中實現的,這是一個具體化的過程,如果子類中沒有全部實現純虛構函式的函式體部分那其子類依舊是一個抽象類。

抽象類的派生類不一定要給出純虛構函式的實現,給出所有純虛擬函式的實現那該派生類就不再是抽象類,而沒有給出其純虛構函式的實現,那該純虛擬函式依舊是抽象類。

望採納!

c++中 抽象類和虛基類用途上有什麼區別

8樓:金色潛鳥

語法上有抽象類和虛基類,不等於你一定要用它。花裡胡哨的東西,我通常不用。

我能想到的抽象類用處,大概這個優點可以用一用:

含有純虛擬函式的類都是抽象類。基類中實際上並不使用這個函式,它只是通知編譯系統:

在這裡宣告一個虛擬函式,留待在派生類中定義。為一個類族提供一個公共介面。

例如,計算平面形狀的面積,抽象類 基類中 virtual float area( ) const =0;

派生類三角形,派生類圓 各自定義了 area( ) 具體的計算。一旦有了派生的三角形或圓,我們可以用同樣的函式名.area( ) 計算面積。

虛基類,它的構建要在派生類裡做,而且先於派生類自己的構建。當有派生類1,派生類2,生成的派生類12時,派生類12只執行一次虛基類的構建。虛基類的物件只有唯一一個。

至於它有什麼特殊用途,沒想到。

9樓:du小蝦

虛基類是相對於它的派生類而言的,它本身可以是一個普通的類。

只有它的派生類虛繼承它的時候,它才稱作虛基類,如果沒有虛繼承的話,就稱為基類。比如類b虛繼承於類a,那類a就稱作類b的虛基類,如果沒有虛繼承,那類b就只是類a的基類。

虛繼承主要用於一個類繼承多個類的情況,避免重複繼承同一個類兩次或多次。

例如 由類a派生類b和類c,類d又同時繼承類b和類c,這時候類d就要用虛繼承的方式避免重複繼承類a兩次。

而抽象類是指帶有有一個或一個以上的純虛擬函式的類。抽象類一般值用於繼承,不能定義類物件,但可以定義類指標和引用

凡是包含純虛擬函式的類都是抽象類。

10樓:匿名使用者

個人覺bai得是對的,包含純du

虛擬函式的類就是一個抽

象類zhi,抽象類不能

dao被例項化,而純虛函專數也不能在抽象類中屬被定義,只能由子類實現,所以無法呼叫。

類可以包含純虛擬函式和其他函式,但只有要一個純虛擬函式的存在,這個類就被認為是抽象類,因此抽象類的定義與他的內容並不衝突。

11樓:匿名使用者

這個是「有」和「都是」的問題

抽象類是其中有純虛擬函式,不是都是純虛擬函式

虛基類與抽象類的問題,純虛類 和抽象類 有什麼關係

當繼承關係自頂來至自 下出現菱形路線時,bai最底層的派生類必然du會重複繼承最頂zhi層基類的成dao員,所以定義虛基類是為了解決這種重複繼承的問題。抽象類是包含純虛擬函式的類,它不能定義物件,在類中定義虛擬函式是為了解決基類的指標能夠呼叫派生類的函式也就是所謂的 多型性 讓一個命令實現多種響應。...

C的抽象類中,抽象方法和純虛擬函式區別

問題1 含有virtual修飾符的方法稱為虛擬方法。不能像你說的那樣定義。問題2 1 虛擬方專法,子屬類可以選擇性重寫此方法,也可以不重寫 而抽象 abstract 方法,子類必須重寫。2 虛擬方法可以有實體,如 public virtual void vt 所以,可以直接呼叫虛擬方法 而抽象方法不...

15關於純虛擬函式和抽象類的描述中,錯誤的是

c如果在派生類中沒有對純虛擬函式進行了定義,那這個派生類也是抽象類.不能用來定義物件 下述關於抽象類的描述中,錯誤的是?a.可以通過在類中定義純虛擬函式的方式定義抽象類 b.不可以建立 選c。建立類的引用,沒聽過,其他都對。選c,以下 編譯通過 class vclass int main 幾道c 選...