1. 程式人生 > 其它 >C++純虛擬函式和抽象類

C++純虛擬函式和抽象類

技術標籤:C++C++抽象類

C++純虛擬函式和抽象類

在多型中,通常父類中虛擬函式的實現是毫無疑義的,主要都是呼叫子類重寫的內容,因此可以將虛擬函式改為純虛擬函式

純虛擬函式語法:

virtual 返回值型別 函式名 (引數列表)=0

當類中有了純虛擬函式,這個類也稱為抽象類

抽象類特點: *
無法例項化物件 *
子類必須重寫抽象類中的純虛擬函式,否則也屬於抽象類

程式碼示例:

#include <iostream>
using namespace std;
//純虛擬函式和抽象
class Base
{
public:
       //純虛擬函式
       //只要有一個純虛擬函式,這個類稱為抽象類
//抽象類特點: // 1.無法例項化物件 //2.抽象類的子類 必須要重寫父類中的純虛擬函式,否則也屬於抽象類 virtual void func() = 0; }; class Son :public Base { public: virtual void func() { cout << "func函式呼叫" << endl; }; }; void test01() { //Base b; //抽象類是無法例項化物件
//new Base; //抽象類是無法例項化物件 //Son s; //子類必須重寫父類中的純虛擬函式,否則無法例項化物件 Base*base = new Son; base->func(); } int main() { test01(); return 0; }

更多精彩文章請關注微信公眾號:YQ程式設計,或微信掃描以下二維碼關注,還有許多IT類電子書等你來拿。

在這裡插入圖片描述