用c++,定义一个计数器类Counter,包含私有成员int n,重载运算符"+",实现对象相加
时间: 2024-09-20 15:12:58 浏览: 89
C++ 中重载和运算符重载加号实现矩阵相加实例代码
在C++中,我们可以定义一个名为`Counter`的计数器类,它有一个私有整数变量`n`来存储计数值,并重载`+`运算符以便两个`Counter`对象可以相加。下面是一个简单的示例:
```cpp
class Counter {
private:
int n;
public:
// 构造函数,初始化计数值
Counter(int initialCount = 0) : n(initialCount) {}
// 重载+运算符,实现对象相加
Counter operator+(const Counter& other) {
// 创建一个新的Counter对象并返回,其值为当前对象的n加上other.n
return Counter(n + other.n);
}
// 获取当前计数值的成员函数
int getCount() const { return n; }
// 友元函数用于打印计数值,通常不在类内定义但为了演示这里写一下
friend std::ostream& operator<<(std::ostream& os, const Counter& counter) {
os << "Counter value: " << counter.getCount();
return os;
}
};
// 测试用法
int main() {
Counter c1(5), c2(10);
Counter sum = c1 + c2; // 相加操作
std::cout << sum << "\n"; // 输出结果
return 0;
}
```
在这个例子中,当你创建两个`Counter`对象并将它们相加时,实际上是在创建一个新的`Counter`对象,它的`n`值等于原来的两个对象的`n`值之和。
阅读全文