52 C 中的抽象類和介面

2021-09-27 01:27:42 字數 1099 閱讀 3160

1、什麼是抽象類

class shape

};

shape 只是乙個概念上的型別,沒有具體物件

2、抽象類與純虛函式

純虛函式的語法規則:

class shape

;

「= 0」 用於告訴編譯器當前是宣告純虛函式,因此不需要定義函式體

這個程式讓我們了解了抽象類的概念,以及用抽象類來實現多型。本來我們不能用shape這個抽象類來定義物件,但是我們可以用shape這個類來定義指標,也可以用定義的指標來指向純虛函式從而實現多型的概念。

抽象類不能拿來定義具體的物件,可以拿來定義指標,定義來的指標只可能指向抽象類的子類,抽象類的子類會把純虛函式給實現。因此通過抽象類的指標來呼叫純虛函式是沒有問題的。

結論:— 滿足下面的條件的c++類則成為介面

1、類中沒有定義任何的成員變數

2、所有的成員函式都是公有的

3、所有的成員函式都是純虛函式

4、介面是一種特殊的抽象類

程式:介面的概念

#include #include using namespace std;

class channel

;int main()

小結:

52 c 中的抽象類和介面

c 中並不支援這兩個概念,但是卻有對應的東西。物件導向中抽象概念 在進行物件導向分析時,會發現一些抽象的概念。shape是現實世界中各種圖形的抽象概念,因此,程式中必須能夠反映抽象的圖形,程式中通過抽象類表示圖形的概念,抽象類不能建立物件,只能用於繼承。c 語言中沒有抽象類的概念,c 中通過純虛函式...

第52課 C 中的抽象類和介面

本文內容來自於對狄泰學院 唐佐林老師 c 深度解析 課程的學習總結 物件導向中的 抽象類 可用於表示現實世界中的 抽象概念 是一種只能定義型別,而不能產生物件 的類 只能被繼承 並重寫相關函式 直接特徵是相關函式沒有完整的實現 c 語言中 沒有抽象類 的概念 c 中通過純虛函式實現抽象類 純虛函式是...

第52課 C 中的抽象類和介面

1 物件導向中的抽象概念 思考 抽象圖形中,圖形的面積如何計算?2 現實中 需要知道具體的圖形型別,才能求面積。3 shape只是乙個概念上的型別 抽象圖形型別 沒有具體物件。1 可用於表示現實世界中的抽象概念 2 抽象類是一種只能定義型別,而不能產生物件的類 3 只能被繼承並重寫相關函式 4 直接...