1 重载函数要求函数具有相同的返回值类型和函数名称,并具有不同的参数序列,而虚函数则要求这三项(函数名,返回值类型,参数序列)完全相同
2 重载函数可以是成员函数或友元函数 而虚函数只能是成员函数
3 重载函数的调用是以传递参数序列的差别作为调用不同函数的依据,而虚函数根据对象的不同的调用不同类的虚函数
4 虚函数在运行期间表现出多态功能,这是c++的精髓,而重载函数则在编译时表现出多态
一般来讲,虚函数是一种特殊的重载,即必须被重载的函数,一般函数可以不被重载。一个函数被声明为虚函数,目的就是实现多态,若派生类不进行重定义则失去了原来的意图