函数的参数
原创
1. 缺省参数
在C++中,定义一个函数时,可以为其中的一个或多个参数指定默认值。
int add(int a, int b = 0) {
return a + b;
}
int main() {
add(20); // 20 + 0 = 20
add(1, 2); // 1 + 2 = 3
return 0;
}
缺省的参数必须从右向左依次给出,中间不允许间隔。
void func(int a, int b, int c = 0); // OK
void func(int a = 0, int b = 0, int c = 0); // OK
void func(int a = 0, int b, int c = 0); // 不合法!
2. 函数重载
C++允许同一个作用域内定义多个同名函数,但它们的参数列表必须不同,这样的多个函数构成函数重载。
#include <cstdio>
void print(int a) {
printf("int: %d\n", a);
}
void print(double n) {
printf("double: %lf\n", n);
}
void print(const char* str) {
printf("const char*: %s\n", str);
}
int main() {
print(123); // int: 123
print(3.14); // double: 3.140000
print("hello"); // const char*: hello
}