C/C++教程

c++--函数重载

本文主要是介绍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++--函数重载的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!