函数重载
来源:互联网 发布:2016国外网络在做什么 编辑:程序博客网 时间:2024/05/16 12:27
所谓函数重载是指同一个函数名可以对应着多个函数的实现。例如,可以给函数名add()定义多个函数实现,该函数的功能是求和,即求两个操作数的和。其中,一个函数实现是求两个int型数之和,另一个实现是求两个浮点型数之和,再一个实现是求两个复数的和。每种实现对应着一个函数体,这些函数的名字相同,但是函数的参数的类型不同。这就是函数重载的概念。函数重载在类和对象的应用尤其重要。
函数重载要求编译器能够唯一地确定调用一个函数时应执行哪个函数代码,即采用哪个函数实现。确定函数实现时,要求从函数参数的个数和类型上来区分。这就是说,进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同。否则,将无法实现重载。
参数类型上不同的重载函数
下面举一个在参数类型不同的重载函数的例子:
#include
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
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
- 重载之函数重载
- 函数重载
- 重载函数
- 函数重载
- 函数重载
- 函数重载
- 函数重载
- 函数重载
- 函数重载
- 函数重载
- 函数重载
- 函数重载
- 函数重载
- 重载函数
- 重载函数
- 函数重载
- 重载函数
- 函数重载
- js小技巧
- centos环境搭建java web,mysql,ftp服务器环境
- 1 MATLAB绘图 颜色 点 线
- RBTree on Linux
- 轻量级日志组件
- 函数重载
- x264程序框架流程分析
- webview的白屏,和硬件加速
- Memcached的安装
- JavaScript 开发进阶:理解 JavaScript 作用域和作用域链
- Linux内核文档之rbtree.txt
- Android 4.0硬件加速及绘制技巧
- [X264] VC6中文企业版(sp6)编译x264之我的实战,提供全部资源下载
- 【jiasuba】菜鸟收藏:造成电脑死机的十大主因