具有默认参数的构造函数
时间: 2023-10-20 22:07:36 浏览: 40
具有默认参数的构造函数是一种构造函数,它在定义时可以为某些参数提供默认值。当对象使用该构造函数创建时,如果没有提供相应参数的值,则使用默认值来初始化该参数。例如:
```
class MyClass {
public:
MyClass(int x = 0, int y = 0) {
// constructor code here
}
};
MyClass obj1; // uses default values of 0 and 0 for x and y
MyClass obj2(1); // uses default value of 0 for y
MyClass obj3(1, 2); // uses provided values for x and y
```
在上面的示例中,`MyClass` 类具有一个带有两个整数参数的构造函数。第一个参数 `x` 和第二个参数 `y` 都有默认值为 0。当使用该构造函数创建对象 `obj1` 时,它将使用默认值 0 和 0 来初始化 `x` 和 `y`。当使用该构造函数创建对象 `obj2` 时,它将使用提供的值 1 来初始化 `x`,但使用默认值 0 来初始化 `y`。当使用该构造函数创建对象 `obj3` 时,它将使用提供的值 1 和 2 来初始化 `x` 和 `y`。
相关问题
具有缺省参数的构造函数
可以简单地理解为在创建对象时不需要传入任何参数,而是使用在类定义时已经定义好的默认值。在C++中,可以通过在函数声明时使用"="号来指定缺省参数,例如:
```c++
class Example {
public:
int age;
Example(int a = 18) {
age = a;
}
};
int main() {
Example e1; //不传任何参数,age默认为18
Example e2(20); //传入参数20,age为20
}
```
c++多参数构造函数
C++中的多参数构造函数是指可以接受多个参数的构造函数。通过使用多参数构造函数,我们可以在创建对象时传递多个参数,并将这些参数用于初始化对象的成员变量。
下面是一个示例,展示了一个具有多参数构造函数的C++类的定义和使用:
```cpp
#include <iostream>
using namespace std;
class MyClass {
public:
int num;
string str;
// 多参数构造函数
MyClass(int n, string s) {
num = n;
str = s;
}
};
int main() {
// 使用多参数构造函数创建对象
MyClass obj(10, "Hello");
// 输出对象的成员变量
cout << "num: " << obj.num << endl;
cout << "str: " << obj.str << endl;
return 0;
}
```
在上面的示例中,我们定义了一个名为`MyClass`的类,它具有一个多参数构造函数。构造函数接受一个整数和一个字符串作为参数,并将它们分别赋值给类的成员变量`num`和`str`。在`main`函数中,我们使用多参数构造函数创建了一个`MyClass`对象,并输出了对象的成员变量。