函数重载

  函数重载是函数的一种特殊情况,c++允许在同一作用域中声明几个功能类似的函数
构成函数重载的条件是:
   1、作用域必须相同
   2、函数名必须相同
   3、参数列表不同(参**数个数不同,参数类型不同,参数类型次序不同)
返回值可同或不同
   (注:但是只有返回值不同其他全都相同不能构成函数重载)
   函数重载
函数重载
可以看到只有返回值不同时不能构成函数重载
调用函数时必须要给出对应的参数才能调用到相应的函数

为什么C++支持函数重载而C语言不支持函数重载呢?
  这是因为成c++经过编译器编译之后会给函数重新修饰一个函数名(通过返回值,参数类型,参数类型顺序生成)  而C语言则生成一个_函数名。例如:
  int Add(int ,int)这个函数  vs2013环境下
  c++风格返回了 ?Add@@YAHHH@Z
  而C风格下返回了 _Add
所以C语言不支持函数重载,因为编译器不知道要调用哪个函数