c++--函数重载

Posted pleasurea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++--函数重载相关的知识,希望对你有一定的参考价值。

函数高级

1.函数的默认参数

//1.形参可以有默认参数
int fun(int a,int b=10)
{
    return a+b;
};
//如果某个位置有默认参数,从该位置往后都要有默认值
//int fun(int a=10,int b) 错误
//2.函数声明时有默认值,实现时就不能有默认参数
//int fun(int a,int b=10);错误

2.占位参数

占位参数用来占位 调用时需要填补该位置

void fun(int a,int)
{
    cout<<" ***"<<endl;
}
//占位参数可以有默认参数
int main()
{
    fun(10,20)//函数调用
    
    
    system("pause");
    return 0;
}

3.函数重载

3.1函数重载条件

函数重载:函数名可以相同,提高复用性

重载条件:

  • 1.同一个作用域下
  • 2.函数名称相同
  • 3.函数参数类型不同,或者个数不同,或者顺序不同
int fun(int a, int b)
{
	return a + b;
}
//返回值不可以做函数重载的条件
//void fun(int a, int b)
//{
//	cout << a + b << endl;
//}

double fun(double b, double a)
{
	return a + b;
}
int main()
{
	cout << fun(12.12, 12.12) << endl;
	cout << fun(12, 12) << endl;

	system("pause");
	return 0;
}

3.2函数重载注意事项

//函数重载注意事项
//引用作为函数重载条件
void fun(int &a)
{
	cout<<"void fun(int a)"<<endl;
}
void fun(const int &a)
{
	cout << "void fun(const int& a)" << endl;
}
//函数重载碰到默认参数
void fun1(int a,int b=10)
{
	cout << "void fun(int a,int b)" << endl;
}
void fun1(int a)
{
	cout << "void fun(const int& a)" << endl;
}
int main()
{
	int a = 10;
	fun(a);
	fun(10);
	fun1(a,20);
	//fun1(20); 默认参数 两个重载
	system("pause");
	return 0;
}

以上是关于c++--函数重载的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE 方法的使用

Java基础之方法的调用重载以及简单的递归

5. 详解函数重载

C++ 入门超详解!

C++ 入门超详解!

在c中使用重载的c++函数