目录
默认参数
写一个函数先,其中,在形参那里,先填一个参数:
void myPrint(int x = 3)
{
cout<<"x"<<x<<endl;
}
在调用的时候:
void main_默认参数()
{
myPrint(4);
myPrint();
//
cout<<"hello..."<<endl;
system("pause");
return ;
}
如果调用的时候,如果没填参数,那么就按被调函数中的原先设置的参数来。
1 若你填写参数,使用你填写的,不填写默认
如果有多个参数:
void myPrint2( int m, int n, int x = 3, int y = 4)
//void myPrint2( int m, int n, int x = 3, int y ) //会报错
{
cout<<"x"<<x<<endl;
}
2 在默认参数规则 ,如果默认参数出现,那么右边的都必须有默认参数
函数的占位参数
占位参数只有参数类型声明,而没有参数名声明,一般情况下,在函数体内部无法使用占位参数。
void func1(int a, int b, int)
{
cout<<"a"<<a<<" b"<<b<<endl;
}
void main_占位参数()
{
//func1(1, 2); //err调用不起来
func1(1, 2, 3);
cout<<"hello..."<<endl;
system("pause");
return ;
}
调用的时候,如果写的不是三个参数,就调用不起来。保证,函数调用是,必须写够参数。
最后,再举个把默认参数和占位参数结合到一起的例子:
void func2(int a, int b, int =0)
{
cout<<"a="<<a<<";b="<<b<<endl;
}
void main()
{
func2(1, 2); //0k
func2(1, 2, 3); //ok
cout<<"hello..."<<endl;
system("pause");
return ;
}
这样的话,输入三个参数也可以,输入两个参数也可以。
可以将占位参数与默认参数结合起来使用。
意义:为以后程序的扩展留下线索 (最好别留),兼容C语言程序中可能出现的不规范写法。
C++可以声明占位符参数,占位符参数一般用于程序扩展和对C代码的兼容
当然,这就是一个语法现象,仅作了解,在实际开发中用处不多。
总体代码
#include <iostream>
using namespace std;
void myPrint(int x = 3)
{
cout<<"x"<<x<<endl;
}
//1 若 你填写参数,使用你填写的,不填写默认
//2 在默认参数规则 ,如果默认参数出现,那么右边的都必须有默认参数
void myPrint2( int m, int n, int x = 3, int y = 4)
//void myPrint2( int m, int n, int x = 3, int y )
{
cout<<"x"<<x<<endl;
}
void main_默认参数()
{
myPrint(4);
myPrint();
//
cout<<"hello..."<<endl;
system("pause");
return ;
}
//函数占位参数 函数调用是,必须写够参数
void func1(int a, int b, int)
{
cout<<"a"<<a<<" b"<<b<<endl;
}
void main_占位参数()
{
//func1(1, 2); //err调用不起来
func1(1, 2, 3);
cout<<"hello..."<<endl;
system("pause");
return ;
}
//默认参数和占位参数
void func2(int a, int b, int =0)
{
cout<<"a="<<a<<";b="<<b<<endl;
}
void main()
{
func2(1, 2); //0k
func2(1, 2, 3); //ok
cout<<"hello..."<<endl;
system("pause");
return ;
}