c++默认参数和占位参数

默认参数

c++中形参可以设置默认参数,设置时需要注意以下几点:

        如果有一个参数设置了默认参数,从这个参数往后的每一个参数都要设置默认参数

        函数的声明和定义出设置默认参数只能一处

        有实参传入则使用实参,实参没有传入使用默认参数

#include <iostream>
#include <stdlib.h>

using namespace std;

void fun01(int a = 1,int b = 2)
{
    cout << a <<""<<b<<endl;
}
void test01()
{
    fun01(1,4);//14
    fun01(1,3);//13
    fun01(1,5);//15
    fun01(2);//22
    fun01();//12
}
int main()
{
    test01();
    return 0;
}

占位参数

c++在声明函数时,可以设置占位参数,占位参数只有参数类型声明,而没有参数名声明,一般情况下,在函数体内部无法使用占位参数

#include <iostream>
#include <stdlib.h>

using namespace std;

void fun01(int a,int b,int)//函数内部无法使用占位参数
{
    cout <<"a+b = "<< a + b << endl;
}
//占位参数也可以设置默认值
void fun02(int a,int b,int = 20)
{
    cout <<"a+b = "<< a + b << endl;
}
int main()
{
    //fun01(10,20);错误 占位参数也是参数 必须传参
    fun01(10,20,30);
    fun02(10,20);
    fun02(10,20,30);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/2301_77164542/article/details/132500153