#include<bits/stdc++.h> using namespace std; //函数默认参数 //如果我们自己传数据,就用自己的数据,如果没有,就用默认值 //注意事项,在参数里面,如果一个参数有了默认值,那么后面的参数就都必须要有默认值 //注意事项,函数的声明和函数的定义只能有一个有默认值,防止编译出现二义性 int func(int a,int b=20,int c=30){ return a+b+c; } //占位参数 //返回值类型,函数名,数据类型 //目前阶段占位参数我们还用不到,后面课程会用到 //占位参数还可以有默认值 void func1(int a,int =10){ cout<<"this is 占位参数的函数"<<endl; } //函数重载的注意事项 //1、引用作为重载的条件 void fun(int &a)//int &a=a { cout<<"fun(int &a)调用"<<endl; } void fun(const int &a)//const int &a=10 { cout<<"fun(const int &a)调用"<<endl; } //2、函数重载碰到默认参数 void fun2(int a,int b=10){ cout<<"两个参数,其中一个是默认值"<<endl; } void fun2(int a){ cout<<"只有一个成参数"<<endl; } int main() { //函数高级-函数的默认参数 cout<<func(10)<<endl; //函数高级-函数的站位参数 func1(10); //函数高级-函数重载-基本语法 //函数的名字相同,参数的个数,参数的类型或者参数的顺序不同,但不能是函数的类型不同,因为 //函数可以没有返回值 //函数高级-函数重载-注意事项 int a=10; fun(a); fun(10); //fun1(10)//尽量避免出现这种情况,函数调用出现二义性 return 0; }