默认构造参数

来源:互联网 发布:linux mkdir权限 编辑:程序博客网 时间:2024/06/03 11:53
C++中可以在函数声明时为参数提供一个默认值,

当函数调用时没有指定这个参数的值,编译器会自动用默认值代替


#include <stdio.h>
 
// 声明时指定默认参数值,没传参是使用默认值
int mul(int a = 10)
{
return a; 

 
int main()
{
    printf ("%d\n", mul(2));
    printf ("%d\n", mul(-3));
    printf ("%d\n", mul());  // 没有写参数,则默认参数
 
    return 0;
}


只有 参数列表后面的部分参数才可有使用提供的默认参数值

一旦在调用中使用了默认参数,那么这个参数之后的所有参数都必须使用默认参数

#include <stdio.h>
 
int add(int a, int b = 0, int c = 0)
{
    return a+b+c;
}
 
int main()
{
    printf ("%d\n", add(2));
    printf ("%d\n", add(1,2));
    printf ("%d\n", add(1,2,3)); 
 
    return 0;
}


函数站位参数意义:

为以后程序的扩展留下线索  
兼容C语言程序中可能出现的不规范写法
#include <stdio.h>
 
int func2(int a, int b, int = 0)
{
    return a + b;
}
int main()
{
    //如果默认参数和占位参数在一起,都能调用起来
    func2(1, 2);
    func2(1, 2, 3);
 
    return 0;
}

原创粉丝点击