函数
#include<iostream>
using namespace std;
// 如果自己传入了数据 就用自己的数据 如果没有 那么用默认值
int func(int a, int b = 30, int c = 10 )
{
return a + b + c;
}
// 如果某个位置已经有了默认参数 那么从这个位置往后 从左到右 都必须有默认值
// 函数声明和函数实现只能有一个默认参数
int main()
{
int a = 10;
int b = 20;
cout << func(a, b) << endl; ;
}
函数占位参数
函数的重载
#include<iostream>
using namespace std;
/*函数重载满足的条件
1 在同一个作用域下 如都在全局的作用域下
2 函数的名称相同
3 函数的参数的类型不同或是个数的不同 或是顺序的不同
*/
void func()
{
cout << "func函数的调用" << endl;
}
void func(int)
{
cout << "带有参数的func函数的调用" << endl;
}
void func(double)
{
cout << "带有参数double的func函数的调用" << endl;
}
void func(int, double)
{
cout << "带有参数double的func函数的调用" << endl;
}
void func(double, int)
{
cout << "带有参数1111double的func函数的调用" << endl;
}
// 注意函数的返回值不可以作为函数重载的条件
int main()
{
func(2.3, 3);
}
注意事项;
#include<iostream>
using namespace std;
/* 函数重载的注意事项
1. 引用作为重载的条件
*/
void func(int& a) // int &a = 20不合法
{
cout << "函数func(int &)的调用" << endl;
}
void func(const int& a)
{
cout << "函数func(const int &)的调用" << endl;
}
int main()
{
const int a = 10;
func(a);
int b = 10;
func(b);
func(20); // 会调用带有const的函数
}