艾爾登法環第三種進亞壇高原和王城的路線
阿新 • • 發佈:2022-04-01
純虛擬函式和抽象類
在多型中,通常父類中虛擬函式的實現是毫無意義的,主要都是呼叫子類重寫的內容
因此可以將虛擬函式改為純虛擬函式
純虛擬函式語法:virtual 返回值型別 函式名 (引數列表)= 0 ;
當類中有了純虛擬函式,這個類也稱為==抽象類==
抽象類特點:
- 無法例項化物件
- 子類必須重寫抽象類中的純虛擬函式,否則也屬於抽象類
class Base { public: //純虛擬函式 //類中只要有一個純虛擬函式就稱為抽象類 //抽象類無法例項化物件 //子類必須重寫父類中的純虛擬函式,否則也屬於抽象類 virtual void func() = 0; };class Son :public Base { public: //重寫的時候virtual也可以不寫 virtual void func() { cout << "func呼叫" << endl; }; }; void test01() { Base* base = NULL; //base = new Base; // 錯誤,抽象類無法例項化物件 base = new Son; base->func(); delete base;//記得銷燬 Son s; s.func(); }int main() { test01(); system("pause"); return 0; }