c++动态数组封装
时间: 2023-07-31 18:12:32 浏览: 79
C++动态数组类的封装实例
5星 · 资源好评率100%
以下是一个简单的 C++ 动态数组封装示例:
```cpp
class DynamicArray {
private:
int* arr; // 动态数组指针
int size; // 数组大小
public:
// 构造函数
DynamicArray() {
arr = nullptr;
size = 0;
}
// 析构函数
~DynamicArray() {
delete[] arr;
}
// 添加元素
void add(int val) {
int* temp = new int[size + 1]; // 创建一个新数组
for (int i = 0; i < size; i++) {
temp[i] = arr[i]; // 将旧数组的元素复制到新数组
}
temp[size] = val; // 在新数组中添加新元素
size++; // 数组大小加 1
delete[] arr; // 删除旧数组
arr = temp; // 将指针指向新数组
}
// 获取元素
int get(int index) {
if (index < 0 || index >= size) {
throw std::out_of_range("Index out of range");
}
return arr[index];
}
// 获取数组大小
int getSize() {
return size;
}
};
```
使用示例:
```cpp
int main() {
DynamicArray arr;
arr.add(1);
arr.add(2);
arr.add(3);
for (int i = 0; i < arr.getSize(); i++) {
std::cout << arr.get(i) << " ";
}
// 输出: 1 2 3
return 0;
}
```
阅读全文