首页 > 技术文章 > C++中重载函数的理解

tanshengjiang 2020-07-14 00:11 原文

一.重载函数的定义

函数的重载是一种特殊情况,C++允许在同一作用域中声明几个类似的同名函数,这些同名函数的形参列表

(参数个数,类型,顺序)必须不同,常用来处理实现功能类似数据类型不同的问题。

在C++中不仅函数可以重载,运算符也可以重载。

运算符<<>>。既可以做移位运算符,也可以做输出,输入运算符。
注意:重载函数的参数个数,参数类型或参数顺序三者中必须有一个不同。

 

函数重载的规则:

*函数名称必须相同。

*参数列表必须不同(个数不同,类型不同,参数排列顺序不同等)。

*函数的返回类型也可以相同也可以不相同。

*仅仅返回类型不同不足以成为函数的重载。

 

二.函数重载的作用

重载函数通常用来在同一作用域内 用同一个函数名 命名一组功能相似的函数,

这样做减少了函数名的数量,避免了名字空间的污染,也大大方便了代码的书写,可读性很强。

 

三.重载底层编译的原理

因为函数名一样,我们根据参数列表对函数进行重命名,

这样的话底层编译就可以识别不同功能的重载函数了。

例:void Swap(int a , int b);

         Swap_int_int;

        void Swap(float a, float b);

       Swap_float_float;

       void Swap(float a, float b);

       Swap_float_float;

我们可以这样去理解,先重命名函数,再去调用函数。

推荐阅读