社区
C++ 语言
帖子详情
什么是重载函数?
xuewudejijie
2008-03-29 07:51:01
什么是重载函数?
...全文
79
1
打赏
收藏
什么是重载函数?
什么是重载函数?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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#中是一样的,但是语言的使用略有不同,此文中的举例代码说明了其原理
Java中,什么是构造
函数
?什么是构造
函数
重载
?
当新对象被创建的时候,构造
函数
会被调用。每一个类都有构造
函数
。在程序员没有提供构造
函数
的情况下,Java编译器会为这个类创建一个默认的构造
函数
。Java中的构造
函数
重载
和方法
重载
很类似,可以为一个类创建多个构造
函数
。每一个构造
函数
都必须有它自己唯一的参数列表...
Java中什么是构造
函数
?什么是构造
函数
重载
?
无参构造
函数
用于创建一个没有提供具体信息的默认对象,带参数的构造
函数
用于根据提供的参数创建对象,而构造
函数
重载
的形式允许根据提供的参数的不同进行灵活的对象初始化。通过构造
函数
重载
,可以根据不同的参数来创建对象,以满足不同的初始化需求。构造
函数
重载
的优势在于可以根据不同的需求提供多种初始化方式,使得对象的创建更加灵活。它允许使用者根据自己的需要选择合适的构造
函数
,以便在创建对象时提供不同的初始化值。使用构造
函数
和构造
函数
重载
,我们可以根据不同的场景和需求来创建不同初始化方式的对象,并提供灵活性和方便性。
什么是
重载
?
重载
的作用?
一、什么是
重载
?
重载
,从简单说,就是
函数
或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的
函数
或者方法之间,互相称之为
重载
函数
或者方法。在java中同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。这种情况下,该方法就被称为
重载
,这个过程称为方法
重载
,通俗的讲就是省了给method命名了.差不多的都用一个. 例如: publiccla...
什么是
函数
重载
函数
重载
【C++】什么是
函数
重载
?为什么需要?怎么实现?
相对于C语言的
函数
,C++增加了
重载
(overloaded)、内联(inline)、const、vertual四种机制。其中
重载
和内联机制,既可用于全局
函数
也可以用于类的成员
函数
,const和virtual机制仅用于类的成员
函数
。在c++程序中,而可以将语义、功能相似的几个
函数
用同一个名字表示,即
函数
重载
函数
名相同(同一个作用域),参数列表不一样。(同名不同参)注意:并不是两个
函数
名字相同就能构成
重载
。全局
函数
和类的成员
函数
同名不算
重载
,因为
函数
的作用域不同。
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章