以下是一个使用 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++ 重载运算符 [] 来实现数组越界检查功能,并提供了具体的示例代码。你可以根据自己的需求修改代码,例如添加更多的错误处理逻辑或使用不同的数据类型。

C++ 数组越界检查:使用重载运算符 [] 实现 Border 类

原文地址: https://www.cveoy.top/t/topic/f31q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录