C++ 数组越界检查:使用重载运算符 [] 实现 Border 类
以下是一个使用 C++ 语言编写的 Border 类的示例代码,该类通过重载 [] 运算符来检查数组是否越界:
#include <iostream>
using namespace std;
class Border {
private:
int size;
int* array;
public:
Border(int s) {
size = s;
array = new int[size];
}
~Border() {
delete[] array;
}
int& operator[](int index) {
if (index < 0 || index >= size) {
cout << '数组越界!' << endl;
exit(1);
}
return array[index];
}
};
int main() {
Border border(5);
for (int i = 0; i < 5; i++) {
border[i] = i + 1;
}
cout << '数组元素:' << endl;
for (int i = 0; i < 6; i++) {
cout << border[i] << ' ';
}
cout << endl;
return 0;
}
在这个示例代码中,Border 类包含一个私有成员变量 size 和一个动态分配的整型数组 array。通过重载运算符 [],我们可以像使用普通数组一样访问 Border 类的对象。
在 main 函数中,我们创建了一个大小为 5 的 Border 对象 border,并通过循环将 1 到 5 的整数赋值给 border 的每个元素。
然后,我们尝试访问 border 的元素,并在数组越界时输出错误信息并退出程序。
最后,我们输出 border 的所有元素。
运行这段代码,你会看到输出结果为:
数组越界!
这段代码演示了如何使用 C++ 重载运算符 [] 来实现数组越界检查功能,并提供了具体的示例代码。你可以根据自己的需求修改代码,例如添加更多的错误处理逻辑或使用不同的数据类型。
原文地址: https://www.cveoy.top/t/topic/f31q 著作权归作者所有。请勿转载和采集!