C++ 运算符重载:计数器类和边界检查类
以下是使用 C++ 编写的实现计数器类和边界检查类的代码:
- Counter 类的定义和运算符重载:
class Counter {
private:
int n;
public:
Counter(int num) : n(num) {}
Counter operator+(const Counter& other) {
return Counter(n + other.n);
}
};
- 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;
}
希望对你有帮助!
原文地址: https://www.cveoy.top/t/topic/f302 著作权归作者所有。请勿转载和采集!