在多型中,通常父類中的虛函式實現是毫無意義的,主要是呼叫子類重寫的內容,因此可以將虛函式改為純虛函式
純虛函式語法:virtual 返回值型別 函式名(引數列表)= 0;
當類中有了純虛函式,這個類也成為抽象類
抽象類特點
#include using namespace std;
//純虛函式和抽象類
class base
;class son:public base;};
void test01()
int main()
小案例:製作冷飲
案例描述:煮水、沖泡、倒杯中、加入輔料,利用多型實現
#include using namespace std;
class abstractdrinking
};class coffee:public abstractdrinking
//沖泡
virtual void brew ()
//倒入杯中
virtual void pour()
//加入輔料
virtual void putsomething ()
};class tea : public abstractdrinking
//沖泡
virtual void brew()
void test01()
int main()
小結:擁有純虛函式的一定是父類(無法被例項化),且子類必須實現這個函式,否則還是抽象類 純虛函式和抽象類
純虛函式和抽象類 語法格式 virtual 返回值型別 函式名 引數 0 1 純虛函式沒有函式體,之有 宣告 0.只表示是純虛函式,2 0 不表示返回值是0,只是乙個形式,告訴編譯器這是純虛函式 3 包含純虛函式的類稱為抽象類 4 抽象類通常稱為基類,讓派生類去實現純虛函式。派生類必須實現純虛函式才...
純虛函式和抽象類
一.純虛函式和抽象類的概念 用 顯示 class figure 抽象類 注意一下幾點 figure c1 錯誤,抽象類不能建立物件 figure p null 正確,抽象類可以宣告自己的指標 figure fun 錯誤,抽象類不能作為返回型別 void fun figure 錯誤,抽象類不能作為引數...
純虛函式和抽象類
虛函式的定義就不囉嗦了,純虛函式和虛函式類似,但是不提供實現!啥意思呢?見下面的例子 這個方法就是純虛函式,別丟了後邊那個 0,它是用來留給子類去實現的。這下大家或許會疑惑,那麼包含了這個函式的類怎麼建立物件呢?事實上這個類是建立不了例項的,因為包含了乙個及以上個純虛函式的類被稱為抽象類。抽象類是不...