概念:
函数重载是一种特殊情况,C++运行在 同一作用域 中声明几个功能类似的 同名函数,这些同名函数的形参列表(参数个数 或 类型 或类型顺序) 不同,常用来处理实现功能类似数据类型不同的问题。
其实就是函数名一样,参数列表不完全相同,且在同一作用域,这就称为函数重载
原理:
让 C++ 支持函数重载的原因是 C++ 中调用函数时,查找链接函数时符号表中使用的是修饰后的函数名,这样函数的形参样式不同,修饰词缀也不同,就能一一区分开名字相同但形参不同的函数了
而C当中调用函数时,符号表中是直接使用的函数名,所以即便形参不同,但编译器无法识别出来,所以支持函数重载
注意:
只有满足函数重载的概念才构成重载,像两个函数函数名和参数是一样的,返回值不同是不构成重载的,因为调用时编译器没办法区分。