c 中抽象類到底有什麼用處,C 中 抽象類和虛基類用途上有什麼區別

2021-03-27 11:53:28 字數 3194 閱讀 3842

1樓:匿名使用者

提供了做蛋糕的模子和一套流程,至於做出來的蛋糕具體是什麼口味還得由你自己決定,但至少能保證你做出來的是蛋糕而不是麵包或者別的什麼,是共性與個性的統一!

2樓:手機使用者

抽象類就像是乙個物種類一樣!

比如。抽象類就是鳥這個物種。

這個鳥是沒有這個動物的。

從這個鳥類裡面繼承出來了雞孔雀等。

然後虛函式就比方是特徵。比如雞的特徵就是不會飛。

你大概明白了吧

3樓:匿名使用者

便於重用,下次你用到抽象類中的小類別就可以不用重寫了

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

4樓:金色潛鳥

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

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

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

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

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

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

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

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

5樓:du小蝦

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

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

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

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

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

c++ 的介面類到底是幹什麼用的?什麼叫介面?跟抽象類的區別是?

6樓:阿虎

這就好比來你抽象乙個類源"人":class people人有一些必須要做的事bai,比如:du

吃飯、呼吸。

但是每個zhi人吃飯又dao不一樣,比如:用筷子吃(中國人)、用刀叉(歐美人)、用手抓(印度人)。

那麼你如果不把「人」(people)這個類做為乙個介面(抽象類)。你光乙個吃就至少要寫3個「吃」的過載方法。但乙個中國人可能永遠也用不到用刀叉吃飯、用手抓飯這樣的方法。

這不是造成你寫「人」(people)這個類的時候寫了兩個多餘的方法嗎?

所以c++提供了乙個叫介面(抽象類)的東西,讓你在宣告乙個「人」這個類的時候,就告訴大家:你們如果想繼承我寫的這個接品(抽象類)類,就必須為「人」(people)這個類的子類寫吃飯、呼吸的方法。這樣,你歐美的朋友繼承你寫的這個類的時候,他們寫「吃」的方法就會用刀叉。

而你印度的朋友繼承你這個類的時候,就會手抓。

c++中虛函式,和抽象類到底是什麼意思

7樓:閱尊

虛函式來

在執行時具有多型性,若某源個基bai類函式宣告為虛函du數,那麼公有派生類將定義

zhi與基類虛函式原型相同dao的函式。(通俗說:基類函式加virtual成為虛函式後,在派生類裡將重新定義與基類虛函式原型相同的函式,當用基類指標或基類引用操作派生類物件時,系統將會呼叫派生類裡的同名函式!

)抽象類就是至少包含乙個純虛函式(只宣告函式不具體定義功能,在派生類中定義功能)的類是抽象類,抽象類只作為基類派生新類。抽象類作用是更有效發揮多型特性!

參考教材及個人見解,純手打,僅供參考,滿意請採納一下吧!

8樓:物理公司的

c++的問題,什麼是抽象類,抽象類有什麼特點。

9樓:匿名使用者

在c++中 含有純虛函式的類即為抽象類

抽象類不能被例項化,只能作為基類進行派生

c++中抽象類的定義

10樓:可以叫我表哥

定義:在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是反過來卻不是這樣。並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。

純虛函式是在基類中宣告的虛函式,它在基類中沒有定義,但要求任何派生類都要定義自己的實現方法。在基類中實現純虛函式的方法是在函式原型後加「=0」。[cpp] view plaincopyprint?

virtual void funtion1()=0

virtual void funtion1()=0。

11樓:匿名使用者

含有純虛函式的類就是抽象類,它是一種特殊的類,為乙個了類簇提供統一的介面。

抽象類無法例項化(無法定義乙個抽象類的物件),只能通過繼承機制,生成抽象類的非抽象派生類,然後再例項化。

12樓:匿名使用者

含有純虛函式的

如class a

c++抽象類和普通類的區別。

13樓:田溫商煙

1.c++沒有abstract.

vc提供了乙個inte***ce

2.抽象類就是指不能例項化的類,因為它們包含了純虛方法。

3.虛函式是在申明的時候用了關鍵字virtual的類的(非靜態)成員函式

c++中抽象類和介面的區別

14樓:默契之建築

c++ 抽象類至少包括乙個純虛函式,並且不可以例項化。

抽象類:

classabstractclass ;

c++介面類僅僅包含虛析構版函權數和虛函式。

介面類:

class shape;

為什麼需要抽象類?c中怎麼宣告抽象類

在c 中使用關鍵字 bai abstract 來定義抽du象類和抽象方法。zhi不能初始化的dao類被叫做抽象類,它們專只提供部屬分實現,但是另乙個類可以繼承它並且能建立它們 的例項。乙個包含乙個或多個純虛函式的類叫抽象類,抽象類不能被例項化,進一步乙個抽象類只能通過介面和作為其它類的基類使用.c ...

C中,抽象類和介面有哪些區別

抽象類的成員可以具有訪問級別,而介面 的成員全部public級別 抽象類可以包含內欄位,而界面容不可以 介面可以用屬性來代替 抽象類可以繼承介面,而介面不能繼承抽象類 抽象類的成員可以具有具體實現,而介面不行 這些是語法上的區別,實際上用途也不同 簡單的例子 汽車能鳴叫 beep 手機也能響鈴 be...

在c 中純虛函式和抽象類的具體用途是什麼,他們的區別是什麼

從名字bai上就能 看出來,純du虛函式是一種 函式 zhi 抽象類是一dao種版 類 函式和類,自權然是最大的區別。它們的用途是定義抽象的介面。純虛函式是指沒有具體實現的虛函式,乙個類包含了純虛函式就成為了抽象類,這樣的類不能被建立例項,所以可以作為抽象介面,由子類來定義純虛函式的具體實現。c 中...