函数重载的条件、作用、注意事项

目录

函数重载的条件和作用及注意

函数重载注意事项


函数重载的条件和作用及注意

作用:函数名可以相同,提高复用性

条件:

1、同一个作用域;

2、函数名称相同;

3、函数参数类型不同或者个数不同或者顺序不同

例1:

函数重载的条件、作用、注意事项_第1张图片

第18行只调用第4行的函数;第19行只调用第7行的函数;第20行只调用第10行的函数;第21行只调用第13行的函数


注意1:

返回类型不能作为函数重载的条件

例2:

函数重载的条件、作用、注意事项_第2张图片

报错,因为没有发生函数重载

注意2:数据类型没有与之相配的时候,自动找接近的类型。但要注意,只有一个函数时行,若出现多个函数重载但没有该类型时,会报错

例3:

例3.1:

函数重载的条件、作用、注意事项_第3张图片

 这里只有一个func函数,所以就可以

例3.2:

函数重载的条件、作用、注意事项_第4张图片

这里有两个func函数,且都不是需要的数据类型,所以报错


函数重载注意事项

引用作为函数形参时:

例4:

函数重载的条件、作用、注意事项_第5张图片

 第54行只调用第45行的函数,第55行只调用第48行的函数。

在引用的本质有提到(详情请看作者的以前发的文章:《引用的本质,常量引用的作用,建议使用const的理由》):int& a=10是不合法的,而const int& a=10是合法的

例5:

函数重载的条件、作用、注意事项_第6张图片

第68行报错,出现二义性。因为68行可以调用第60行和第63行的函数。

而69行正确,因为只能调用第60行的函数。

 

你可能感兴趣的:(c++,c++,后端)