C++ 构造函数重载

构造函数重载

在 C++ 中,同一个类中可以拥有多个构造函数。这被称为构造函数重载

每个构造函数必须具有不同数量或类型的参数,这样编译器在您创建对象时就能知道该使用哪一个。

为什么使用构造函数重载?

  • 为创建对象提供灵活性
  • 设置默认值或自定义值
  • 减少重复代码

包含两个构造函数的示例

这个类有两个构造函数:一个无参数,另一个带参数:

class Car {
  public:
    string brand;
    string model;

    Car() {
      brand = "Unknown";
      model = "Unknown";
    }

    Car(string b, string m) {
      brand = b;
      model = m;
    }
};

int main() {
  Car car1;
  Car car2("BMW", "X5");
  Car car3("Ford", "Mustang");

  cout << "汽车 1:" << car1.brand << " " << car1.model << "\n";
  cout << "汽车 2:" << car2.brand << " " << car2.model << "\n";
  cout << "汽车 3:" << car3.brand << " " << car3.model;
  return 0;
}

结果:

汽车 1:Unknown Unknown
汽车 2:BMW X5
汽车 3:Ford Mustang

亲自试一试

构造函数重载让您可以创建带有自定义值的对象。