【3】函数 函数重载

c++允许将功能相近的函数在相同的作用域内以相同函数名定义


形参类型不同

int add(int x,int y);

float add(float x,float y);

形参个数不同

int add(int x,int y);

int add(int x, int y,int z);


注意:

重载函数的形参必须不同:个数不同或类型不同

编译器不以形参名来区分,不以返回值来区分

int add(int x,int y);int add(int a,int b);【错误】

不要将不同功能的函数声明为重载函数,以免出现调用结果的误解,混淆


一个函数重载的例子

#include<iostream>

using namespace std;

int max1(int x, int y)

{

return x > y ? x : y;

}

int max1(int x, int y, int z)

{

return max1(max1(x, y), z);

}

double max1(double x, double y)

{

return x > y ? x : y;

}

double max1(double x, double y,double z)

{

return max1(max1(x, y), z);

}

int main()

{

int i=5, j=89, k=34;

double i2=5.0, j2=56.0, k2=34.0;

cout << max1(i, j) << endl;

cout << max1(i, j,k) << endl;

cout << max1(i2, j2) << endl;

cout << max1(i2, j2,k2) << endl;

system("pause");

return 0;

}

定义的浮点数与整数不是相等的,判断两个浮点数是否相等应该

abs(f1-f2)<1e-10;则相等

两个数的差值小于10 的负10次方


1.23e-10及1.23乘以10的负10次方

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容