频道栏目
首页 > 资讯 > 其他 > 正文

函数重载原理及介绍

18-08-01        来源:[db:作者]  
收藏   我要投稿

通常同一文件中的函数名不能重名,不同文件中的非静态函数不能重名。

但c++中函数名可以使重复的,,c++语言规定如果两个函数的形参个数不同或数据类型不同(包括顺序不同,如:int float和float int),就可以重名,重名的函数被称为重载函数,需要注意的是函数返回至不是函数重载的标准。

当函数重载遇上函数默认参数

#include

intfunc(inta,intb,intc=0)
{
returna+b;
}

intfunc(inta,intb)
{
returna+b;
}

intmain()
{
func(1,2);//哪个函数会被调用

return0;
}

所以这里调用重载函数有准则:

将所有同名函数作为候选者 尝试寻找可行的候选函数:1)精确匹配实参 2)通过默认参数能够匹配实参 3)通过默认类型能够转换匹配实参 匹配失败:1)最终寻找到可行候选函数不唯一,出现歧义,编译失败 2)无法匹配所有候选者,函数未定义,编译失败

通俗一点将就是,程序员看代码都不知道选什么,编译器同样也不知道。

重载函数需要注意的一些事项:

重载函数在本质上是相互独立的不同函数(静态链编) 重载函数的函数类型是不同的 函数返回值不能作为函数重载的依据 函数重载是由函数名和参数列表决定的
相关TAG标签
上一篇:数据库查询速度的优化讲解
下一篇:python的默认参数问题测试代码解析
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站