虛基類不能建立物件,需積累指標可以

2021-03-03 20:53:28 字數 1480 閱讀 3647

1樓:

shape* gshape只是說宣告瞭一個shape性質的指標gshape,就像int *p宣告一個int性質的指標一樣,有什內麼不容可以?但gshape和p現在還都沒有什麼用處,因為它們還沒有指向!題中的**是宣告瞭一個虛基類指標,然後讓這個指標指向虛基類的派生類的物件(由new lineshape生成),是很自然的!

2樓:匿名使用者

樓主你好,這是c++程式的多型性,可以由父類指標來new子類,以此來呼叫子類的過載方法。

含有純虛擬函式的類是不可以用來建立物件的,因為它是虛基類

3樓:匿名使用者

這得分清楚含有純虛擬函式的類與虛基類是兩個不同的概念。

(1)含有純虛擬函式的類是不能建立物件

(2)虛基類是指在繼承的時候,通過虛繼承的方式,繼承的基類。

含有純虛擬函式的類在繼承的時候,可以不加virtual關鍵字,因此可以不是虛基類

只要在繼承的時候,加了virtual關鍵字,都是虛基類,這與基類中是否有純虛擬函式無關

在c++類中,有一種類不能生成物件只能被繼承,稱之為虛基類還是抽象類???

4樓:匿名使用者

在c++類中,有一種類不能生成物件只能被繼承,稱之為________。

答案應該是 「抽象類」 或者 「包含純虛擬函式的類」 。

5樓:匿名使用者

兩個概念沒有直接等價關係

抽象類不能被例項化,裡面一定包含純虛擬函式

虛基類是虛繼承的父類,class b:virtual a{}; a是虛基類

6樓:匿名使用者

可以回答抽象類/純虛類,含有純虛擬函式的類。

class a;

虛基類與抽象類的問題

7樓:匿名使用者

當繼承關係自頂來至自

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

8樓:匿名使用者

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

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

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

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

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

C 虛基類問題

首先.這個不叫虛基類 這只是一個普通繼承 基類裡面有一個虛擬函式 定義a p new c p是一個a型別的指標,但實際上p指向的是一個c型別 c型別也是a型別的一種,c繼承自a p show 的時候,因為a中的是 virtual show 即虛擬函式 所以會執行c的show 函式 這就是虛擬函式的一...

c定義虛基類Shape,在Shape類的基礎上

include using namespace std class shape void shape createshape class rectangle virtual public shape rectangle rectangle float a,float b float rectangl...

金蝶kisactive部件不能建立物件

樓上說的都很好,關bai 鍵其實有三點 du1 9.1不支援vista和windows7,使這zhi兩個dao系統就換成xp吧。2 安裝過內 換個電腦裝一下哦。或則解除安裝重灌。這是你裝的 時候沒裝好。activex部件不能建立物件bai,錯誤 du13 建議 解除安裝金蝶,不要zhi重啟,然 加入...