这三种函数的使用区别如下:
纯虚函数:只提供一个接口,具体实现方法需要派生类自己去重载。
由于纯虚函数的出现,基类变成了一个抽象类,只能被继承,而不能被实例化;纯虚函数的话,必须在派生类中重载。所以纯虚函数只提供一个方法的接口,实现方式需要派生类自己去写。
虚函数:提供接口,并提供默认的实现方法;派生类也可以根据需要自己去重载。
这就是说,虚函数提供默认的实现方法,如果派生类自己不重载它的话,那就使用默认的;或者它自己去重载它。
非虚函数:提供接口,以及强制的实现方法。
由于之前在虚函数那块提过,如果派生类想要重载基类的方法,一定得使用虚函数,那么非虚函数的使用就意味着,派生类不会重载这个函数,那么结论就是,非虚函数提供强制的接口以及实现方法!