纯虚函数和抽象类
在虚函数的声明后面加 = 0变为纯虚函数,纯虚函数没有函数体,只有函数声明
包含纯虚函数的类就是抽象类,因为他无法实例化,无法创建对象,只有在被继承实例化后才能创建对象。抽象类通常作为基类让派生类去实现纯虚函数。
可以用基类指针指向派生类对象,派生类需要实现对纯虚函数的实例化,这样就可以形成多态。
注意:
- **一个纯虚函数就可以使类成为抽象基类,**但是抽象基类中除了包含纯虚函数外,还可以包含其它的成员函数(虚函数或普通函数)和成员变量。
- 只有类中的虚函数才能被声明为纯虚函数,普通成员函数和顶层函数均不能声明为纯虚函数