c++中模板类动态数组追加数组元素的代码怎么写
时间: 2024-02-12 22:09:15 浏览: 108
在C++中,可以使用模板类和动态内存分配来实现动态数组。以下是一个简单的示例代码,演示如何使用模板类动态数组追加数组元素:
```c++
#include <iostream>
using namespace std;
template <class T>
class DynamicArray {
private:
T *arr;
int size;
int capacity;
public:
DynamicArray() {
arr = new T[1];
size = 0;
capacity = 1;
}
void append(T element) {
if (size == capacity) {
T *temp = new T[2 * capacity];
for (int i = 0; i < capacity; i++) {
temp[i] = arr[i];
}
delete[] arr;
capacity *= 2;
arr = temp;
}
arr[size] = element;
size++;
}
void print() {
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
};
int main() {
DynamicArray<int> arr;
arr.append(1);
arr.append(2);
arr.append(3);
arr.print();
return 0;
}
```
在上述代码中,定义了一个模板类`DynamicArray`,其中包含一个`append`方法,用于向数组末尾添加元素。当数组大小达到容量时,会动态地重新分配内存,将容量扩大为原来的两倍。此外,还定义了一个`print`方法,用于打印数组中的所有元素。
在`main`函数中,首先创建了一个`DynamicArray<int>`类型的动态数组对象`arr`,然后分别向其中添加了三个整数元素,最后调用`print`方法将数组中的所有元素打印出来。
阅读全文