//函数默认参数
#include<iostream>
using namespace std;
//函数默认参数规则:只有参数列表后面部分的参数才可以提供默认参数值
//一旦在一个函数调用中开始使用默认参数值,那么这个参数后的所有参数都必须使用默认参数值
void printfA(int a, int b=1)
{
cout << "b=" << b << endl;
}
//在默认参数规则下,如果默认参数出现,那么右边的都必须有默认参数
//void printfB(int a=1, int b )
//{
//cout << "b=" << b << endl;
//}
int main()
{
int a = 2;
int b = 8;
//printfA(a, b); //1、若你填写参数,使用你填写的,不填写默认
//cout << "b=" <<b<< endl; //输出b=8
printfA(a);//输出为1
//cout << "b=" <<b<< endl;
system("pause");
}
//函数占位参数
#include<iostream>
using namespace std;
//函数占位参数,调用时 必须写够参数
void func(int a, int b, int)
{
cout << "a="<<a<< endl;
cout << "b=" << b<< endl;
}
void main()
{
//func(1, 2);//报错
func(1, 2, 3);
system("pause");
}
//函数占位参数和默认参数相结合
#include<iostream>
using namespace std;
//默认参数和占位参数相结合,为以后的程序扩展留下线索,兼容C语言程序中可能出现的不规范写法
void printfA(int a, int b, int = 0)
{
cout << "a="<<a<< endl;
cout << "b=" << b << endl;
}
int main()
{
printfA(1, 2); //ok
printfA(1, 2, 3); //ok 默认参数和占位参数在一起 ,都能调用起来
system("pause");
}