纯虚函数语法: 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;
}