21xrx.com
2024-09-20 05:42:26 Friday
登录
文章检索 我的文章 写文章
如何在C++中创建带有参数构造函数的对象数组
2023-06-30 13:29:29 深夜i     --     --
C++ 参数构造函数 对象数组 创建

在C++编程中,一种常见的任务是创建对象数组。不仅可以将已知数量的对象存储在数组中,还可以方便地对它们进行操作。但是,当对象具有带参数的构造函数时,创建对象数组就会变得稍微有些困难。因此,下面介绍如何在C++中创建带有参数构造函数的对象数组。

第一步就是定义带有参数的构造函数,这些参数将用于初始化数组中的每个对象。例如,假设我们正在创建一个名为“Car”的类,并且我们希望每个“Car”对象都有一个颜色和一些马力属性。我们可以这样定义构造函数:


class Car{

  public:

    Car(string new_color, int new_horsepower);

  //其他成员函数和成员变量

  private:

    string color;

    int horsepower;

};

Car::Car(string new_color, int new_horsepower)

  color = new_color;

  horsepower = new_horsepower;

上述代码中,构造函数接受两个参数:一个字符串类型的颜色和一个整型的马力。它们分别用来初始化对象中的“color”和“horsepower”变量。

接下来,我们需要创建一个数组并使用带参数的构造函数初始化每个对象。为了实现这一点,我们将使用一组嵌套循环来遍历所有的数组元素,并为它们分配一个新的“Car”对象。以下是如何做到这一点的示例代码:


const int ARRAY_SIZE = 3; //对象数组的大小

int main(){

  Car carArray[ARRAY_SIZE]; //对象数组

  string colors[ARRAY_SIZE] = "Green";

  int horsepower[ARRAY_SIZE] = 350;

  // 为每个元素分配一个新的Car对象

  for(int i=0; i<ARRAY_SIZE; i++){

    carArray[i] = Car(colors[i], horsepower[i]);

  }

  // 对象数组的使用

  for(int i=0; i<ARRAY_SIZE; i++){

    cout << "Car " << i << " is " << carArray[i].getColor() << " and has " << carArray[i].getHorsepower() << " horsepower." << endl;

  }

  return 0;

}

首先定义了一个名为“ARRAY_SIZE”的常量,用于表示对象数组的大小。然后,我们创建了一个名为“carArray”的对象数组,并声明两个字符串数组“colors”和一个整数数组“horsepower”,这些数组将用于初始化每个“Car”对象。接下来,用一个循环为每个数组元素分配一个新的Car对象。最后,我们使用另一个循环列出所有Car对象的属性。

在本例中,我们用了新的数组colors和horsepower,分别与Car的构造函数参数对应。  通过上述演示代码,您可以看到如何在 C++ 中创建带有参数构造函数的对象数组。无论您需要创建多少对象,都可以根据需要向构造函数中传递参数,并将它们赋值给数组中的每个元素。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复