C++函数重载

来源:互联网 发布:华为多个端口加入vlan 编辑:程序博客网 时间:2024/06/03 15:39

一:初识

1.在C++中程序中不允许相同的函数出现,否则调用时无法区分函数;

2.区分函数靠的不仅是函数名,还有函数的参数列表,如果多个函数拥有相同的函数名,但参数列表不同,则称为函数重载。


int fun();int fun(int,double);int fun(float);

函数的返回值不能用来区别函数。

二:示例代码

#include<iostream>#include<cstdlib>using namespace std;#define MIN 1e-6bool isZero(int x){return 0 == x;}bool isZero(double x){return -MIN < x < MIN;}bool isZero(char x){return '0' == x;}int main(int argc, char *argv[]){cout << "Is Zero?" << endl;cout << 1 << '\t' << isZero(1) << endl;cout << 0 << '\t' << isZero(0) << endl;cout << 1.0 << '\t' << isZero(1.0) << endl;cout << 1e-9 << '\t' << isZero(1e-9) << endl;cout << 'a' << '\t' << isZero('a') << endl;return 0;}

执行结果:


三:总结

1)如果一个函数名被重载,那么调用函数选择的过程就是重载解析

           重载解析步骤:i)确定实参列表属性,确定候选函数的集合;

                                      ii)根据实参个数和类型确定合适的函数;

                                     iii)选择精确匹配的函数。


原创粉丝点击