c++定义一个计算器类counter,对其重载运算符+
时间: 2024-10-15 15:11:58 浏览: 40
在 C++ 中,我们可以定义一个名为 `Counter` 的计算器类,然后为了实现重载加法运算符 `+`,我们需要提供一个成员函数,使其能够接受两个 `Counter` 类型的对象作为输入并返回一个新的 `Counter` 对象。下面是一个简单的示例:
```cpp
class Counter {
private:
int value;
public:
// 构造函数
Counter(int initial = 0) : value(initial) {}
// 重载加法运算符+
Counter operator+(const Counter& other) const {
return Counter(value + other.value);
}
// 显示计数值的成员函数
friend std::ostream& operator<<(std::ostream& os, const Counter& counter) {
os << counter.value;
return os;
}
};
```
在这个例子中,`operator+(const Counter& other) const` 函数接收另一个 `Counter` 对象作为参数,并返回一个新的 `Counter`,其值等于当前对象和传入对象之和。`friend std::ostream& operator<<(std::ostream& os, const Counter& counter)` 是一个友元函数,用于将 `Counter` 类的实例转换成 `std::ostream` 格式,便于打印。
使用这个类的方式如下:
```cpp
int main() {
Counter first(5);
Counter second(3);
Counter sum = first + second; // 使用加法运算符
std::cout << "First counter: " << first << "\n";
std::cout << "Second counter: " << second << "\n";
std::cout << "Sum: " << sum << "\n";
return 0;
}
```
阅读全文