C 學習 抽象基類

2021-07-24 09:18:34 字數 435 閱讀 8382

抽象基類(abstract base class)abc

c++提供純虛函式提供未實現的方法,純虛函式宣告的結尾處為=0,例如

class baseellipse

virtual ~baseelipse()

void move( int nx , int ny )

virtual double area()const = 0; // a pure virtual function

...}

當類宣告包含純虛函式時,不能建立該類的物件,因為包含純虛函式的類只用作基類。要成為真正的abc,必須至少包含乙個純虛函式     

當派生類涉及到動動態記憶體分配時,,必須為派生類定義顯式析構函式、複製建構函式和賦值操作符,派生類在處理相應問題時,必須呼叫基類的相關函式

C 抽象基類

為什麼c 要定義抽象基類?c 為什麼要定義抽象基類?抽象類就是類裡定義了純虛成員函式的類。純虛函式只提供了介面,並沒有具體實現。抽象類不能被例項化,通常是作為基類供子類繼承,子類中重寫虛函式,實現具體的介面。為什麼要定義抽象基類呢?依我所見主要有以下原因 1.最重要的原因是,可以將介面與實現分離。介...

C 抽象基類與虛基類(C primer)

c primer plus p508,抽象基類 c primer plus p556,虛基類 抽象基類是解決如下問題 加入現在需要開發乙個圖形類,表示圓與橢圓 注意,圓是一種特殊的橢圓 所以初步考慮從橢圓類中派生出圓類。但是現在遇到乙個問題,圓與橢圓的面積計算公式不同,所以需要建立乙個abc,抽象出...

C 基礎 抽象基類(ABC)

抽象基類 abc 即abstract base class利用了基類指標指向派生類物件從而呼叫派生類方法的思想實現c 的隱藏 具體實現則主要用到的是純虛函式 pragma once include stdafx.h include include using std cout using std e...