c++++中默认参数允许为函数参数设置默认值,当未提供实际参数时使用。可变参数允许函数接收数量未知的参数,参数类型必须相同。示例:计算矩形面积,提供缺省宽度;查找一系列数字的最大值。
C++ 函数中默认参数与可变参数的使用
默认参数
- 允许在函数定义中为参数设置默认值。
- 当函数调用中不提供实际参数时,使用默认值。
语法:
立即学习“C++免费学习笔记(深入)”;
1
|
returnType functionName(parameterType parameterName = defaultValue);
|
示例:
计算两个数的面积,如果未提供第二个参数,则默认值为 1。
1
2
3
|
double area( double length, double width = 1.0) {
return length * width;
}
|
使用:
1
2
|
double area1 = area(5.0);
double area2 = area(5.0, 3.0);
|
可变参数
- 允许函数接受数量未知的参数。
- 参数类型必须相同,并放在带 … 的省略号中。
语法:
立即学习“C++免费学习笔记(深入)”;
1
|
returnType functionName(parameterType ...parameterName);
|
示例:
找到一系列数字的最大值。
1
2
3
4
5
6
7
8
9
|
double findMax( double ...numbers) {
double max = numbers[0];
for ( double number : numbers) {
if (number > max) {
max = number;
}
}
return max;
}
|
使用:
1
2
|
double max1 = findMax(1.0, 2.0);
double max2 = findMax(1.0, 2.0, 3.0, 4.0);
|
实战案例:
计算矩形的面积
假设我们有一个矩形类,其中包含用于计算各种属性的函数。
1
2
3
4
5
6
7
|
class Rectangle {
public :
double getArea( double width = 1.0) {
return length * width;
}
};
|
现在,我们可以通过调用 getArea() 函数来计算具有不同宽度的矩形面积:
1
2
3
|
Rectangle rectangle;
double area1 = rectangle.getArea();
double area2 = rectangle.getArea(3.0);
|