函数重载;
故事性;在我们的汉语中,存在有一词多义的现象,在不同的时间,地点,有的词语的意思会产生不同的效果。但是最后基于编程的严谨,我们在背单词时候会有一种方法就是,词根,词缀的方法。咱们现在映射一下就是现在函数名就类似于函数名,后边的后缀就相当于,函数体里边的实参和形参。
官方定义;两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。
个人的转译;基于函数重载的定义,我们大概了解的是函数名相同,函数之间的差异不在函数名,在于的是各个函数的形参和实参的个数以及类型(或者有的同学可以认为的是功能上的差异)
实例展示;
假设不存在函数重载;
定义加法函数;(类型包含,整数,浮点)
int iadd(int a,int b);//整数类型
float fadd(float x,float y);//浮点类型
上述的表示方法就是不使用重载函数的情况
显然是比较繁琐。
下边展示使用重载函数的情况
int add(int x,int y);
float add(float x,float y);
//上述两种情况表示的就是函数名相同,形参的类型不同。
int add(int x,int y);
int add(int x,int y,int z);
//上述两种情况表示的是函数名相同,但是参数的个数不同的情况。
警告;
重载函数的形参必须不同;个数不同或者类型不同。编译程序对实参和形参的类型及个数进行最佳匹配,来选择调用哪一个函数。如果函数名相同,形参类型也相同(无论函数返回值类型是否相同),在编译时会被认为是语法错误(函数重复定义)。
本文基于C++语言程序设计,上述仅是个人的一点建议,如有什么补充,或者错误,还请大家帮助,谢谢!