缺省参数
缺省参数也叫默认参数
指的是在函数参数的位置,提前定义一个缺省值(即提前定义一个值),当函数接收到参数时,如果定义缺省值的位置未接收到参数,那么这个位置会自动使用缺省值
通过定义缺省参数的个数可分为以下情况
全缺省
全缺省就是将函数的参数都定义一个缺省值
cpp
#include <iostream>
using namespace std;
// 全缺省:所有参数都有默认值
void printInfo(string name = "Unknown", int age = 0, string country = "Earth") {
cout << "Name: " << name
<< ", Age: " << age
<< ", Country: " << country << endl;
}
int main() {
printInfo(); // 输出:Name: Unknown, Age: 0, Country: Earth
printInfo("Alice"); // 输出:Name: Alice, Age: 0, Country: Earth
printInfo("Bob", 25); // 输出:Name: Bob, Age: 25, Country: Earth
printInfo("Cathy", 30, "Mars"); // 输出:Name: Cathy, Age: 30, Country: Mars
return 0;
}
半缺省
半缺省就是将函数的参数只定义部分缺省值
cpp
#include <iostream>
using namespace std;
// 半缺省:length 和 width 必须传递,height 可缺省(默认 10)
double calculateVolume(double length, double width, double height = 10) {
return length * width * height;
}
int main() {
// 必须至少传递前两个参数
cout << "Volume 1: " << calculateVolume(2, 3) << endl; // 2*3*10 = 60
cout << "Volume 2: " << calculateVolume(2, 3, 5) << endl; // 2*3*5 = 30
return 0;
}
缺省值定义规则
从右向左定义
默认参数必须从参数列表的最右侧开始定义,且必须连续向左延伸
不可跳跃:默认参数必须连续设置,不能间隔未设置默认值的参数