目录
函数重载的条件和作用及注意
函数重载注意事项
函数重载的条件和作用及注意
作用:函数名可以相同,提高复用性
条件:
1、同一个作用域;
2、函数名称相同;
3、函数参数类型不同或者个数不同或者顺序不同
例1:
第18行只调用第4行的函数;第19行只调用第7行的函数;第20行只调用第10行的函数;第21行只调用第13行的函数
注意1:
返回类型不能作为函数重载的条件
例2:
报错,因为没有发生函数重载
注意2:数据类型没有与之相配的时候,自动找接近的类型。但要注意,只有一个函数时行,若出现多个函数重载但没有该类型时,会报错
例3:
例3.1:
这里只有一个func函数,所以就可以
例3.2:
这里有两个func函数,且都不是需要的数据类型,所以报错
函数重载注意事项
引用作为函数形参时:
例4:
第54行只调用第45行的函数,第55行只调用第48行的函数。
在引用的本质有提到(详情请看作者的以前发的文章:《引用的本质,常量引用的作用,建议使用const的理由》):int& a=10是不合法的,而const int& a=10是合法的
例5:
第68行报错,出现二义性。因为68行可以调用第60行和第63行的函数。
而69行正确,因为只能调用第60行的函数。