例子:
#include <iostream>
//#include "modulehh.h"
using namespace std;
//带默认参数的函数
float d = 10.8; //看不懂这么干有什么用,大概是为了编程用的吧.
void func(int n, float b = d + 2.9, char c = '@') {
cout << n << ", " << b << ", " << c << endl;
}
int main() {
//为所有参数传值
func(10, 3.5, '#');
//为n、b传值,相当于调用func(20, 9.8, '@')
func(20, 9.8);
//只为n传值,相当于调用func(30, 1.2, '@')
func(30);
getchar();
return 0;
}
C++规定,默认参数只能放在形参列表的最后,而且一旦为某个形参指定了默认值,那么它后面的所有形参都必须有默认值。
这样写不可以:
void func(int a, int b=10, int c=20, int d){ }
void func(int a, int b=10, int c, int d=20){ }