重载原理分析

重载原理分析:


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++的函数重载是函数名相同,参数列表不同(包括参数个数和参数类型的不同),函数返回值对重载无影响,因为调用的时候不会写返回值。



你可能感兴趣的:(C++)