社区
C++ 语言
帖子详情
什么是重载函数?
xuewudejijie
2008-03-29 07:51:01
什么是重载函数?
...全文
116
1
打赏
收藏
什么是重载函数?
什么是重载函数?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kkkgho
2008-03-29
打赏
举报
回复
所谓函数重载是指同一个函数名可以对应着多个函数的实现。例如,可以给函数名add()定义多个函数实现,该函数的功能是求和,即求两个操作数的和。其中,一个函数实现是求两个int型数之和,另一个实现是求两个浮点型数之和,再一个实现是求两个复数的和。每种实现对应着一个函数体,这些函数的名字相同,但是函数的参数的类型不同。这就是函数重载的概念。函数重载在类和对象的应用尤其重要。
函数重载要求编译器能够唯一地确定调用一个函数时应执行哪个函数代码,即采用哪个函数实现。确定函数实现时,要求从函数参数的个数和类型上来区分。这就是说,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。否则,将无法实现重载。
参数类型上不同的重载函数
下面举一个在参数类型不同的重载函数的例子:
#include <iostream.h>
int add(int, int);
double add(double, double);
void main()
{
cout<<add(5, 10)<<endl;
cout<<add(5.0, 10.5)endl;
}
int add(int x, int y)
{
return x+y;
}
double add(double a, double b)
{
return a+b;
}
该程序中,main()函数中调用相同名字add的两个函数,前边一个add()函数对应的是两个int型数求和的函数实现,而后边一个add()函数对应的是两个double型数求和的函数实现。这便是函数的重载。
以上程序输出结果为:
15
15.5
参数个数上不同的重载函数
下面举一个在参数个数上不相同的重载函数的例子:
#include <iostream.h>
int min(int a, int b);
int min(int a, int b, int c);
int min(int a, int b, int c, int d);
void main()
{
cout<<min(13, 5, 4, 9)<<endl;
cout<<min(-2, 8, 0)<<endl;
}
int min(int a, int b)
{
return a<b?a:b;
}
int min(int a, int b, int c)
{
int t = min(a, b);
return min(t,c);
}
int min(int a, int b, int c, int d)
{
int t1 = min(a, b);
int t2 = min(c, d);
return min(t1, t2);
}
该程序中出现了函数重载,函数名min对应有三个不同的实现,函数的区分依据参数个数不同,这里的三个函数实现中,参数个数分别为2,3和4,在调用函数时根据实参的个数来选取不同的函数实现。
函数重载在类和对象应用比较多,尤其是在类的多态性中。在以后我们将碰到更多的在类型不同的函数重载,尤其是在结合类的继承性和指针类型的不同,而这些都是我们以后用VC编程中经常要用到的。
注:关于重载一定要注意:重载函数的参数类型和参数个数一定要不同(即:要么参数的类型不同,要么参数的个数不同,要么参数的类型和个数都不同),否则,编译器就不知道该调用那个函数了。函数重载的概念在C++,C#中是一样的,但是语言的使用略有不同,此文中的举例代码说明了其原理
什么是
函数
重载
?
本文深入探讨C++中的
函数
重载
概念,解释了如何通过参数类型、数量和顺序的不同来实现
函数
重载
,同时强调了
函数
重载
的规则及常见误区,如返回类型和参数名称的差异不会导致
函数
重载
。
函数
重载
本文详细介绍了
函数
重载
的概念,包括其定义、应用场景以及在C和C++中的区别。此外,还探讨了编译器如何解决
重载
时的命名冲突、解析
重载
函数
调用的方法,以及
重载
与作用域的关系。
JavaScript
函数
重载
(js
函数
重载
)
博客探讨了JavaScript中
函数
重载
的概念,发现JS中并不存在真正的
函数
重载
,而是后面的定义覆盖了前面的。作者通过模拟实现
重载
,利用arguments对象根据实参个数实现不同功能,达到了类似
重载
的效果。强调了在模拟
重载
时应考虑代码可读性和减少代码冗余。
重载
学习——
函数
重载
与运算符
重载
本文详细介绍了C++中
函数
重载
和运算符
重载
的概念、区别、实现方法,包括类的成员
函数
和友元
函数
的
重载
格式,以及示例代码展示了如何
重载
加法、减法、输出输入运算符等。,
函数
重载
函数
重载
允许在同一作用域内创建多个同名但参数列表不同的
函数
,以此实现多态性。它简化了编程,使得在C++中可以使用统一的
函数
名处理不同类型的数据,如加法运算的
重载
。编译器通过形参列表来区分不同的
重载
函数
,避免命名冲突。
函数
重载
是C++静态多态的一部分,提供了代码的可读性和灵活性。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章