【c++函数重载】

文章目录

  • 一. 命名空间
  • 二 .全缺省参数和半缺省参数
  • 三 . 函数重载

一. 命名空间

1.不指定域:先在局部找,再全局。
2. 指定域:到指定的命名空间去找。
3. 当把指定命名空间放开时,即using namespace std;例如放开标准c++库,当不指定域时也能用,因为放开后,就会先局部,再全局,再放开的命名空间域。

二 .全缺省参数和半缺省参数

  1. 全缺省参数是指每个形参都指定了默认值,当函数调用时,实参没有指定的时候,就会使用指定的默认值,全缺省意思是:每个形参都指定了默认值。
  2. 而半缺省参数是指部分形参指定了缺省值。
    **注意半缺省一定是从右往左的,不然会报错,因为传实参时,如果左边缺省,而右边没缺省的话,当缺少指定实参时,右边的形参没值传入会报错。
#include

int add(int a = 3, int b, int c)
{
	return a + b + c;
}


int main()
{
	std::cout << add(1, 2) << std::endl;
	return 0;
}

【c++函数重载】_第1张图片

三 . 函数重载

  1. 参数类型不同。
  2. 参数顺序不同。
  3. 参数个数不同
    只要以上上个条件满足一个就是函数重载,即函数名一定相同,函数返回值无要求,但是参数不能完全相同即构成函数重载
    代码:
#include

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函数的重载。

麻烦给小编一个小小的点赞,对你有帮助的话

你可能感兴趣的:(c++,开发语言,linux,数据结构,服务器,运维,后端)