虚函数与重载函数的区别

1 重载函数要求函数具有相同的返回值类型和函数名称,并具有不同的参数序列,而虚函数则要求这三项(函数名,返回值类型,参数序列)完全相同

2 重载函数可以是成员函数或友元函数 而虚函数只能是成员函数

3 重载函数的调用是以传递参数序列的差别作为调用不同函数的依据,而虚函数根据对象的不同的调用不同类的虚函数

4 虚函数在运行期间表现出多态功能,这是c++的精髓,而重载函数则在编译时表现出多态

一般来讲,虚函数是一种特殊的重载,即必须被重载的函数,一般函数可以不被重载。一个函数被声明为虚函数,目的就是实现多态,若派生类不进行重定义则失去了原来的意图

原文地址:https://www.cnblogs.com/guoyu1024/p/9069984.html