用c++定义一个计数器类Counter,包含私有成员int n, 重载运算符“+”, 实现对象的相加;
时间: 2024-03-17 17:46:41 浏览: 151
重载为类的成员函数-C++教程(PPT)
好的,以下是实现计数器类Counter的C++代码:
```
#include <iostream>
using namespace std;
class Counter {
public:
Counter() {
n = 0;
}
Counter(int num) {
n = num;
}
Counter operator+(const Counter& c) {
Counter result;
result.n = this->n + c.n;
return result;
}
int getN() {
return n;
}
private:
int n;
};
int main() {
Counter c1(5);
Counter c2(7);
Counter c3 = c1 + c2; // 等价于 c3 = c1.operator+(c2);
cout << "c1 + c2 = " << c3.getN() << endl;
return 0;
}
```
在计数器类中,我们实现了一个无参构造函数和一个带参数构造函数,以便创建计数器对象时可以指定初始值。重载运算符“+”时,我们使用了成员函数的方式来实现,其返回值为一个新的计数器对象,其计数值为两个加数的和。
在主函数中,我们创建了三个计数器对象,分别赋值为5、7和两者之和。然后我们输出了两者之和的计数值,可看到输出结果为:
```
c1 + c2 = 12
```
这表明重载运算符“+”成功地将两个计数器对象相加并返回了结果。
阅读全文