cpp 函数可以有默认参数吗?
时间: 2023-08-08 12:05:48 浏览: 54
是的,C++函数可以有默认参数。在函数定义中,可以给参数设置默认值,如果函数调用时没有传递该参数,则使用默认值。例如:
```
void printMessage(string message = "Hello World!") {
cout << message << endl;
}
```
在这个例子中,函数 `printMessage` 有一个默认参数 `message`,默认值为 `"Hello World!"`。如果在调用函数时不传递参数,则使用默认值输出 `"Hello World!"`。例如:
```
printMessage(); // 输出 "Hello World!"
printMessage("Hi there!"); // 输出 "Hi there!"
```
相关问题
构造函数可以有默认参数吗?
可以。在构造函数的参数列表中,可以为某些参数提供默认值。当调用构造函数时,如果没有传递该参数的值,则会使用默认值。例如:
```cpp
class MyClass {
public:
MyClass(int a = 0, int b = 0) {
// 构造函数的实现
}
};
// 创建对象时可以省略参数,使用默认值
MyClass obj1; // 相当于 MyClass(0, 0)
// 也可以传递参数,覆盖默认值
MyClass obj2(1); // 相当于 MyClass(1, 0)
MyClass obj3(2, 3); // 相当于 MyClass(2, 3)
```
cpp 函数的默认参数
C++ 函数的默认参数是指在函数声明时,为某个参数设置一个默认值,如果在函数调用时没有给该参数传递实参,则会使用默认值作为其实参。
例如下面的代码定义了一个带有默认参数的函数:
```cpp
void print(int x, int y = 10) {
cout << "x: " << x << ", y: " << y << endl;
}
```
在调用该函数时,可以只传递一个参数,也可以传递两个参数:
```cpp
print(5); // 输出: x: 5, y: 10
print(5, 20); // 输出: x: 5, y: 20
```
如果在函数声明时为某个参数设置了默认值,在函数定义时也必须为该参数设置默认值,例如:
```cpp
void print(int x, int y = 10) {
cout << "x: " << x << ", y: " << y << endl;
}
// 在函数定义时也必须为 y 参数设置默认值
void print(int x, int y) {
cout << "x: " << x << ", y: " << y << endl;
}
```