純虛函數語法: virtual 返回類型 函數名(參數列表)=0;
- 當類中有了純虛函數,該類也稱之爲抽象類
抽象類特徵:
- 抽象類不能被實例化。
- 抽象類的子類必須重寫純虛函數,否則也爲抽象類。
#include<iostream>
using namespace std;
class animal {
public:
virtual void speak() = 0;//純虛函數
};
class dog :public animal {
public:
void speak() {
cout << "我是小狗,汪汪汪!" << endl;
}
};
class cat :public animal {
public:
void speak() {
cout << "我是小喵,喵喵喵!" << endl;
}
};
int main() {
animal* f1 =new dog;
f1->speak();//我是小狗,汪汪汪!
delete f1;
animal* f2 = new cat;
f2->speak();//我是小喵,喵喵喵!
delete f2;
}