函数

int fun(int x , int y , int z =1 , int k =2 , int m =4)
{
    return x+y;    
}


void main()
{

    fun(1,2);     //编译出错
    fun(1,2,3);  //编译正确
}

默认参数的规则:只有参数列表后面的参数才能被设置带默认值。

在参数列表中,在第一次出现默认参数的后面的所有参数都必须有默认参数。

 

函数占位参数:

int fun(int x , int y , int)
{
    return x+y;    
}


void main()
{

    fun(1,2);     //编译出错
    fun(1,2,3);  //编译正确
}

 

默认参数与占位参数 “在一起”:

int fun(int x , int y , int = 3)
{
    return x+y;    
}


void main()
{

    fun(1,2);     //编译通过
    fun(1,2,3);  //编译通过
}

 

函数重载:

在相同作用域内(比如在相同类中)

不以返回类型构成重载;仅以参数构成重载(参数个数,顺序,类型)

重载函数与带默认参数的函数:

void fun(int x , int y=1)
{

}

int fun(int x)
{

}

void main()
{
    fun(1);    //调用不明确,编译出错,调用存在二义性
    fun(1,2);
}

 

posted @ 2016-10-17 14:03  e-data  阅读(100)  评论(0)    收藏  举报