10.1重学C++之【函数默认参数】

#include<iostream>
using namespace std;


/*
    三 函数提高
    3.1 函数默认参数
*/


// 注意,若某个位置已有了默认参数,则从该参数位置往后的每个参数都必须有默认值,例func(int a, int b, int c=30, d=40)
int func(int a=10, int b=20, int c=30){
    return a+b+c;
}


// 注意,若函数声明有默认参数,则函数实现不能有默认参数
int func2(int a=10, int b=10);
int func2(int a, int b){ // 此处不可以再给形参赋值,否则报错
    return a+b;
}


// 即声明和实现二处只能有一处给形参赋值默认参数
int func3(int a, int b); // 此处不可以再给形参赋值,否则报错
int func3(int a=10, int b=10){
    return a+b;
}


int main(){
    cout << func(1, 1, 1) << endl; // 3
    cout << func(1, 1) << endl; // 32
    cout << func() << endl; // 60

    cout << func2() << endl; // 20
    cout << func2(1, 1) << endl; // 2

    cout << func3() << endl; // 20
    cout << func3(1, 1) << endl; // 2

    return 0;
}

posted @ 2021-03-14 15:18  yub4by  阅读(15)  评论(0编辑  收藏  举报