C++中带默认值的函数

来源:互联网 发布:node.js入门视频教程 编辑:程序博客网 时间:2024/05/21 19:47
带默认值的函数
 函数调用时,形参值是由实参数决定,形参实参必须相同。C++还提供一种
 方法,为形参设置一个默认值,即形参不从实参取值。
 1 函数的声明
 默认值在函数声明中提供,但当有声明又有定义时,定义中不允许有默认值。
 如果函数只有定义,则默认值可以出现在函数定义中。
 
 
 #include  <iostream>
 using namespace std;
 
 void point(int x,int y=0, int z=0)
 {
     cout<<"("<<x<<","<<y<<","<<z<<")"<<endl;
 }
 
 int main()
 {
    int x,y,z;
    
    cout<<"X, Y,Z:"<<endl;
    cin>>x>>y>>z;
    point(x);
    point(x,y);
    point(x,y,z);
    
    return 0;
 }
 
 
 2 带默认值的形参顺序规定
 在函数中有多个默认参数,则形参从最右边依次向左设定。当调用函数时,只能向左匹配参数。
 错误的表示:
 void  point(int=0,int, int=0);
 void point(int=0,int=0,int);
 
 调用时:
point(x):     ok
point(x,y);   ok
point(x,y,z);  ok


point();      error
point(x, , z); error

3 默认参数与函数重载
使用带默认值的函数可以将一些简单的函数合并为一个函数。但是如果一个函数不能既作为重载函数,
又作为带默认值的函数。会出现二义性,系统无法执行。
例:point(int x,int y);
    point(int x,int y=0, int z=0);
    point(x,y);
    
    
4  默认值的限定
默认值:可以是全局变量,全局常量,也可以作为一个函数表达式。默认值不能是局部变量。