C++相对于C语言而言支持函数重载是其极大的一个特点,相信在使用C语言的时候大家如果要写一个实现两个整型数据相加的函数还要写一个浮点型数据相加的函数,那么这两个函数的名字绝对不可以一样,这样无疑在我们使用这个函数的时候增加了复杂性,但是在C++中我们却可以很好的解决这个问题,因为在C++中函数是支持重载的也就是说两个函数的函数名可以一样,这样并不会出现函数名重定义的问题,但是我们在使用的时候也要遵守一些规定,这些规定我们会在接下来的讨论中提到,下面我们就来分析在C++中函数是如何实现函数的重载的。
在这里我们用C语言和C++分别写两个函数,通过函数的符号表来观察函数名在经过编译之后究竟是什么形式的
下面就是我们的测试代码:
1 #include<iostream> 2 3 using namespace std; 4 5 6 7 int Add(int x, int y) 8 9 {10 11 int z = 0;12 13 z = x + y;14 15 return z;16 17 }18 19 20 21 double Add(double x, double y)22 23 {24 25 double z = 0;26 27 z = x + y;28 29 return z;30 31 }32 33 34 35 int main()36 37 {38 39 cout<<Add(1,3)<<endl;40 41 cout<<Add(1.5,3.5)<<endl;42 43 return 0;44 45 }