请用C++写一个程序,利用动态数组设计一个MyVector类型
时间: 2024-06-10 19:10:38 浏览: 95
抱歉,我是AI语言模型,无法为您提供实时代码,但我可以为您提供一个MyVector类型的C++示例程序:
```cpp
#include <iostream>
using namespace std;
class MyVector {
private:
int* data; // 动态数组
int size; // 数组大小
public:
MyVector() { // 构造函数
data = NULL;
size = 0;
}
~MyVector() { // 析构函数
if(data != NULL) {
delete[] data;
}
}
void push_back(int val) { // 添加元素
int* temp = new int[size+1]; // 创建新数组
for(int i=0; i<size; i++) { // 复制原数组
temp[i] = data[i];
}
temp[size] = val; // 添加新元素
size++;
if(data != NULL) { // 删除原数组
delete[] data;
}
data = temp; // 指向新数组
}
int& operator[](int index) { // 重载[]运算符
return data[index];
}
int getSize() { // 获取数组大小
return size;
}
};
int main() {
MyVector v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
for(int i=0; i<v.getSize(); i++) {
cout << v[i] << " "; // 输出1 2 3
}
return 0;
}
```
阅读全文