C++学习(一)- 虚函数和重载函数的区别(3)

来源:互联网 发布:阿里云ecs搭建ss 编辑:程序博客网 时间:2024/06/07 20:06

1,重载函数:具有相同的函数名。参数个数,参数类型至少有一个不同,则该函数为重载函数。注意函数的返回类型不能作为重载函数的判断标准,也就是说,当返回值类型不同,形参个数,形参类型相同时,编译是不通过的。

2,重载函数与带默认值的函数一起使用时,有可能引起二义性。

      例如:  void f(int a,int b=20,int c=30);

                   void f(int x);

                  当用f(40)去调用函数时,编译系统无法确定调用哪一个函数。

3,在函数调用时,当实参与形参类型不同时,会强制类型转换,如果转换成功,则继续执行,但是有可能会产生不可识别的错误。

4, 虚函数:具有相同的函数名,参数个数,参数类型,参数的顺序,函数的返回类型;在基类函数中加上virtual关键字。

5,重载函数,是实现编译时的多态性,而虚函数,是可以实现运行时的多态性。

6,当某个函数,在基类中被设为虚函数,但是在派生类中,被设为重载函数,此时,该函数表现出普通重载函数的特性,即虚特性消失。

0 0