(1)重载函数的规则:
1.函数名必须相同
2.参数列表必须不同(个数不同、类型不同、参数排序顺序不同等)
3.函数的返回值可以相同也可以不同
注:仅仅返回类型不同不足以成为函数重载
(2)
在调用函数时,编译器会根据函数调用的实参类型和个数来选择相应的函数进行调用。如果没有找到完全匹配的函数,则编译器会尝试进行隐式类型转换或者参数个数的匹配来寻找最合适的函数进行调用。如果仍然无法找到匹配的函数,则会出现编译错误。
需要注意的是,函数重载是在编译时进行决策的,而不是在运行时进行决策的。因此,函数重载对程序的性能影响非常小。
(3)只要满足参数不同,就可以在一个程序中对同名的函数进行定义。但是如果其中有函数有默认值时,就不能确定要调用哪个函数了,就会产生错误,此时两个函数就不能重载。
(4)使用无参构造函数创建对象(即使对象初始化,即给数据成员赋值)时,在最后应用语句“A a”,而不是用“A a()”,后者表示声命一个函数