1.概念
函数重载就是程序中存在同名函数(需要满足一定条件),这被c++语法支持。
2.重载条件
1.同名函数的参数类型或者个数或者参数类型的顺序不同。(简单来讲就是函数参数整体类型不一致)
以上都是函数重载的例子。
要注意的是:
1).
虽然一个是缺省参数,一个是正常参数,但参数类型都是int
2).
虽然构成函数重载,编译器也不会报错。但是这种重载在调用时可能存在调用歧义,比如调用的时候不传参数。
2.重载的函数必须在同一作用域
他们具有重载性能,但他们不是重载关系,因为x1和x2的作用域并不同(只是把它当成全局函数,但作用域仍然是命名空间)。
3.补充
在调用合法同名函数时,会根据参数来决定调用哪个函数