纯虚函数在父类只定义接口,必须由子类实现,是一种运行时动态。包含纯虚函数的类为抽象类,不能通过new来创建对象。抽象类中包含三种函数:纯虚函数、虚函数、普通函数。
#include<iostream>
using namespace std;
class VirtualTest{
public:
virtual void abstractFunc()=0; //纯虚函数:由子类实现
virtual void defaultFunc(){} //虚函数:父类默认实现
void commonFunc(){} //普通函数:统一实现,子类最好不要重载
}
纯虚函数
是一种运行时动态,在运行时决定具体调用类的函数。
虚函数
父类中提供虚函数的默认实现,子类可以重写虚函数。
普通函数
是静态编译,只会调用编码时的类对象的普通函数。