您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
#include <iostream>
template <typename T>
class MyArray {
private:
T* m_data;
int m_size;
public:
MyArray(int size) : m_data(new T[size]), m_size(size) {}
~MyArray() {
delete[] m_data;
}
void resize(int newSize) {
T* newData = new T[newSize];
for (int i = 0; i < std::min(m_size, newSize); i++) {
newData[i] = m_data[i];
}
delete[] m_data;
m_data = newData;
m_size = newSize;
}
T& operator[](int index) {
return m_data[index];
}
int size() const {
return m_size;
}
};
int main() {
MyArray<int> arr(5);
for (int i = 0; i < arr.size(); i++) {
arr[i] = i;
}
for (int i = 0; i < arr.size(); i++) {
std::cout << arr[i] << " ";
}
arr.resize(10);
for (int i = 0; i < arr.size(); i++) {
std::cout << arr[i] << " ";
}
return 0;
}
在这个自定义的Array类中,我们使用了new运算符进行内存分配,同时在析构函数中使用了delete[]运算符进行内存释放。类中还有resize方法用于重新分配内存空间,并且重载了[]运算符以支持数组元素的访问。在主函数中,我们展示了如何使用这个自定义的Array类。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。