c++高级函数的学习
#include <iostream>
#include <stdio.h>
using namespace std;
//函数默认参数,如果该默认参数未 传入就是默认值,传入就是传入的值
//注意事项: 如果有默认参数,则从第一个默认参赛到最后的参数都必须为默认参数
//如果不这样会产生歧义
//2、声明和实现就只能有一个默认参数,都默认的话如果默认值输入错误就有二义性
void func(int a,int b, int c)
{
cout <<a+b+c;
}
//函数占位参数,占位参数也可以为默认参数
void func1(int a,int )
{
}
//函数重载,函数名相同,提高复用性
//1.在同一个作用域
// 2.函数名相同
// 3.函数参数类型不同,或者个数不同,或者顺序不同
//函数返回值不是函数重载的条件(无法区分,二义性,有返回值可以不使用,那就和无返回值的函数一样)
void func2(int b,int a)
{
cout <<"func2的调用"<<endl;
}
void func2(int b)
{
cout <<"func2的调用"<<endl;
}
//函数重载的注意事项
// 1.引用作为默认参数
// 2. 函数重载碰到默认参数,函数重载避免默认参数(避免二义性)
void func3(int a=10)
{
cout <<"调用func3(const int &a)"<<endl;
}
void func3(int a){
cout <<"调用func3(const int &a)"<<endl;
}
int main(){
func3(10);
return 0;
}