C++ 笔记 | 第2课 函数重载
函数重载 function overloading
C++ 允许函数同名, 这种现象称为函数重载.
C++ |
---|
| int abs(int t);
long abs(long t);
double abs(double t)
|
注意: 调用时要注意参数类型: 比如 1.0
和 1.0f
缺省与函数重载
C++ |
---|
1
2
3
4
5
6
7
8
9
10
11
12 | double f(double x){return x*x;}
double f(double x, double y=0) {return x*x+y*y;}
double x(3.0), y(4.0);
// 出错!由于函数有缺省参数说明,导致编译器根据 f(x) 调用无法静态束定应该调用 f(x) 还是 f(x, 0.0)
// 正确写法
double f(double x){return x*x;}
double f(double x, double y) {return x*x+y*y;}
double x(3.0), y(4.0);
// 正确写法
double f(double x, double y=0.0) {return x*x + y*y;}
|
函数重载 function overloading
C++允许函数同名, 这种现象称为函数重载.
C++ |
---|
| int abs(int t);
long abs(long t);
double abs(double t)
|
注意: 调用时要注意参数类型: 比如 1.0 和 1.0f
缺省与函数重载
C++ |
---|
1
2
3
4
5
6
7
8
9
10
11
12 | double f(double x){ return x*x;}
double f(double x, double y=0) { return x*x+y*y;}
double x(3.0), y(4.0);
//出错!由于函数有缺省参数说明,导致编译器根据f(x)调用无法静态束定应该调用f(x)还是f(x, 0.0)
//正确写法
double f(double x){ return x*x;}
double f(double x, double y) { return x*x+y*y;}
double x(3.0), y(4.0);
//正确写法
double f(double x, double y=0.0) { return x*x + y*y;}
|