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

以下是一个用 C++ 编写的 Border 类的示例,它通过重载运算符 '[]' 来检查数组是否越界:

#include <iostream>

class Border {
private:
    int size;
public:
    Border(int s) : size(s) {}

    bool operator[](int index) {
        if (index < 0 || index >= size) {
            std::cout << '数组越界!' << std::endl;
            return false;
        }
        return true;
    }
};

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    Border border(5);

    for (int i = -1; i < 7; i++) {
        if (border[i]) {
            std::cout << 'arr[' << i << '] = ' << arr[i] << std::endl;
        }
    }

    return 0;
}

在上面的示例中,Border 类重载了运算符 '[]',并在其中检查了数组是否越界。在主函数中,我们创建了一个大小为 5 的整型数组 arr,并创建了一个 Border 对象 border,大小为 5。然后,我们通过循环尝试访问数组中的元素,使用 border 对象的 '[]' 运算符进行越界检查。如果数组越界,将输出相应的错误信息;否则,输出数组元素的值。

运行上述代码,将得到以下输出:

数组越界!
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
数组越界!
C++ 数组越界检查:使用重载运算符 [] 实现 Border 类

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

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