简洁易懂讲清原理,讲不清你来打我~

虚函数是实现的,作用是为了让这个函数在子类可以被覆盖,编译器可以后期绑定达到多态,纯虚函数只是一个接口,是函数的声明,留到子类去实现


定义纯虚函数的目的是使派生类仅仅基础基类的函数接口


虚函数的目的是告诉子类设计者,如果不想写虚函数,可以借助基类的确实版本


非虚函数的目的在于,告诉派生类设计者,这个函数就应该只能这种功能,使派生类继承函数的接口和强制性实现