文章目录
- 一. 命名空间
- 二 .全缺省参数和半缺省参数
- 三 . 函数重载
一. 命名空间
1.不指定域:先在局部找,再全局。
2. 指定域:到指定的命名空间去找。
3. 当把指定命名空间放开时,即using namespace std;例如放开标准c++库,当不指定域时也能用,因为放开后,就会先局部,再全局,再放开的命名空间域。
二 .全缺省参数和半缺省参数
- 全缺省参数是指每个形参都指定了默认值,当函数调用时,实参没有指定的时候,就会使用指定的默认值,全缺省意思是:每个形参都指定了默认值。
- 而半缺省参数是指部分形参指定了缺省值。
**注意半缺省一定是从右往左的,不然会报错,因为传实参时,如果左边缺省,而右边没缺省的话,当缺少指定实参时,右边的形参没值传入会报错。
#include<iostream>
int add(int a = 3, int b, int c)
{
return a + b + c;
}
int main()
{
std::cout << add(1, 2) << std::endl;
return 0;
}
三 . 函数重载
- 参数类型不同。
- 参数顺序不同。
- 参数个数不同
只要以上上个条件满足一个就是函数重载,即函数名一定相同,函数返回值无要求,但是参数不能完全相同即构成函数重载
代码:
#include<iostream>
int add(int a, int b, int c = 3)
{
return a + b + c;
}
double add(double a, int b, int c = 3)
{
return a + b + c;
}
int main()
{
std::cout << add(1, 2) << std::endl;
std::cout << add(1.2, 1.2) << std::endl;
return 0;
}
这就是一个add函数的重载。
麻烦给小编一个小小的点赞,对你有帮助的话