以下是使用 C++ 编写的实现计数器类和边界检查类的代码:

  1. Counter 类的定义和运算符重载:
class Counter {
private:
    int n;
public:
    Counter(int num) : n(num) {}
    
    Counter operator+(const Counter& other) {
        return Counter(n + other.n);
    }
};
  1. Border 类的定义和运算符重载:
class Border {
private:
    int* arr;
    int size;
public:
    Border(int arrSize) : size(arrSize) {
        arr = new int[size];
    }
    
    ~Border() {
        delete[] arr;
    }
    
    int& operator[](int index) {
        if (index < 0 || index >= size) {
            throw std::out_of_range('Index out of range');
        }
        return arr[index];
    }
};

使用示例:

#include <iostream>

int main() {
    // Counter 类示例
    Counter c1(5);
    Counter c2(10);
    Counter c3 = c1 + c2;
    std::cout << "c3 = " << c3 << std::endl;
    
    // Border 类示例
    Border b(5);
    b[0] = 1;
    b[1] = 2;
    b[2] = 3;
    b[3] = 4;
    b[4] = 5;
    
    try {
        int value = b[5]; // 越界访问
        std::cout << "Value: " << value << std::endl;
    } catch (const std::out_of_range& e) {
        std::cout << "Exception: " << e.what() << std::endl;
    }
    
    return 0;
}

希望对你有帮助!

C++ 运算符重载:计数器类和边界检查类

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

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