带默认参数值的函数
1.函数定义时可以预先声名默认的形式参数。调用时,如果给出实参,则用实参初始化形参;如果没有给出实参,则用默认形参值。
int add(int x=1,int y=2){ //声明默认形参数值
return x+y;
}
int main(){
add(23,2); //用实参来初始化形参,实现23+2
add(45,3); //形参采用实参值:x=45,y=3
add(); //x和y都采用默认值:x=1,y=2
2.有默认值的形参必须在形参列表的最后,即在有形参默认值的右边,不能有无默认值的形参。
例如:int add(int x,int y=1,int z=4)-------正确
int add(int x=1,int y=1,int z)-------错误
3.在相同的作用域内,不允许在同一个函数的多个声明中对同一个参数的默认值重复定义,即前后定义的值相同也不行。
求长方体体积。
#include<iostream>
using namespace std;
int getVolume(int height,int width=12,int length=3);
int main()
{
int X=3,Y=10,Z=9;
cout<<getVolume(X,Y,Z)<<endl;
cout<<getVolume(X,Y)<<endl;
cout<<getVolume(X)<<endl;
return 0;
}
int getVolume(int height,int width/*=12*/,int length/*=3*/)
{
cout<<height<<" "<<width<<" "<<length<<" ";
return length*width*height;
}