21xrx.com
2024-11-05 16:33:26 Tuesday
登录
文章检索 我的文章 写文章
C++中使用new创建类数组
2023-07-12 05:38:19 深夜i     --     --
C++ new 类数组 创建 类对象

C++中使用new创建类数组是一种非常方便的方式,可以让开发者更加灵活地管理内存空间,同时能够扩展代码的易用性。在本文中,我们将介绍C++中如何使用new关键字创建类数组,并提供一些示例。

首先,让我们了解一下什么是类数组。类数组是指包含多个对象的数组,每个对象都有相同的类型和属性。类数组中的每个对象都可以像普通数组一样进行访问和操作。使用类数组可以更好地组织和管理代码,并提高代码的可读性和可维护性。

在C++中,我们可以使用new关键字来创建类数组。下面是一个基本的示例:


class Sample {

public:

  Sample(int x) : m_x(x) {}

  int getX() const

    return m_x;

  

private:

  int m_x;

};

int main() {

  int size = 5; // 数组大小

  Sample* array = new Sample[size]; // 创建类数组

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

    array[i] = Sample(i); // 初始化每个元素

  }

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

    std::cout << array[i].getX() << std::endl; // 使用访问器输出每个元素的属性

  }

  delete[] array; // 释放内存

  return 0;

}

在上面的示例中,我们首先定义了一个Sample类,该类包含一个int类型的属性m_x和一个访问器getX()。在主函数中,我们定义了一个名为array的Sample类型指针,并使用new关键字创建一个大小为5的类数组。接下来,我们使用for循环初始化每个元素,并使用getX()访问器输出每个元素的属性。最后,我们使用delete[]关键字释放内存。

除了基本示例外,我们还可以使用new关键字创建指向类数组的指针,并使用指针来访问和操作类数组元素。例如:


int size = 5;

Sample* arrayPtr = new Sample[size];

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

  *(arrayPtr+i) = Sample(i); // 初始化每个元素

}

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

  std::cout << (arrayPtr+i)->getX() << std::endl; // 使用指针访问每个元素的属性

}

delete[] arrayPtr;

上面的代码创建了一个大小为5的Sample类型指针,使用for循环初始化每个元素,并使用指针访问每个元素的属性。

总之,使用new关键字创建类数组是一种非常方便的方式,可以大大提高开发者的效率和代码的可读性。我们可以根据实际需求选择不同的方法来创建和操作类数组,以便更好地管理内存空间。

  
  

评论区

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