怎么给一个类的构造函数多次传参,用同一个实例化对象
时间: 2024-02-03 10:11:28 浏览: 116
理解js对象继承的N种模式
在一个类的构造函数中,可以定义多个参数。如果你想使用同一个实例化对象给构造函数多次传参,可以使用方法重载来实现。具体步骤如下:
1. 在类中定义多个构造函数,每个构造函数有不同的参数列表。
2. 创建一个实例化对象。
3. 调用不同的构造函数,传入不同的参数列表,来实现多次传参。
下面是一个示例代码,展示了如何给一个类的构造函数多次传参,使用同一个实例化对象:
```
class MyClass {
private:
int x, y;
public:
MyClass() { // 默认构造函数
x = 0;
y = 0;
}
MyClass(int a) { // 构造函数 1
x = a;
y = 0;
}
MyClass(int a, int b) { // 构造函数 2
x = a;
y = b;
}
void print() {
cout << "x = " << x << ", y = " << y << endl;
}
};
int main() {
MyClass obj;
obj.print(); // 输出:x = 0, y = 0
obj = MyClass(10);
obj.print(); // 输出:x = 10, y = 0
obj = MyClass(20, 30);
obj.print(); // 输出:x = 20, y = 30
return 0;
}
```
在上面的示例代码中,首先定义了一个类 MyClass,它有三个构造函数:默认构造函数、构造函数 1、构造函数 2。然后在主函数中创建了一个 MyClass 类型的实例化对象 obj。接着,分别调用了三个不同的构造函数,来给 obj 多次传参,并调用 print() 方法输出 obj 的属性值。最终的输出结果为:
```
x = 0, y = 0
x = 10, y = 0
x = 20, y = 30
```
阅读全文