重载原理分析:
C++函数底层实现:
int max(int a,int b) ==》 _max_int_int
int max(int a,int b,int c) ==》 _max_int_int_int
double max(double a,double b) ==》 _max_double_double
C函数底层实现:
int max(int a,int b) ==》 _max
int max(int a,int b,int c) ==》 _max
double max(double a,double b) ==》 _max
由上面可以知道,C++和C函数的底层的函数实现不同,C++会将函数翻译成函数名和参数类型的形式,而C只将其翻译成函数名,所以,C++可以重载,而C不可以重载
extern "C" :表示用C的方式对函数进行底层编译,这样这个函数将不能重载
C++的函数重载是函数名相同,参数列表不同(包括参数个数和参数类型的不同),函数返回值对重载无影响,因为调用的时候不会写返回值。