#include <iostream>
int area(int a=5, int b=8)
{
int area=a*b;
return area;
}
int main(int argc, const char * argv[])
{
int x,y,s1,s2,s3;
std::cout<<"请输入两个数"<<std::endl;
std::cin>>x>>y;
s1=area();//调用函数,使用形参默认值(a=5,b=8)
s2=area(x);//使用一个传递参数,一个默认参数(a=?,b=8)
s3=area(x,y);//两个传递参数
std::cout<<"s1:"<<s1<<std::endl;
std::cout<<"s2:"<<s2<<std::endl;
std::cout<<"s3:"<<s3<<std::endl;
return 0;
/*
1.当函数有多个默认值时,默认参数的值应按从右到左的顺序定义
如:
int area(int a=8; int b);//错误
int area(int a, int b=34);//正确
int area(int a=8,int b=34);//正确
2.当函数有声明又有定义后,只能在声明时指定默认形参值,不能在函数定义式指定默认形参
*/
}
声明时指定默认形参值的使用
#include <iostream>
int add(int a=56,int b=78);//声明函数,指定形参默认值
int main(int argc, const char * argv[])
{
int x,y,sum;
std::cout<<"请输入两个数:"<<std::endl;
std::cin>>x>>y;
sum=add();//134
std::cout<<"和:"<<sum<<std::endl;
sum=add(x,y);
std::cout<<"和:"<<sum<<std::endl;
}
int add(int a, int b)
{
return a+b;
}