C++ 运算符重载:加法、负号、输入输出
C++ 运算符重载:加法、负号、输入输出
本教程演示如何在 C++ 中实现运算符重载,包括加法 (+) 、负号 (-) 以及输入输出 (<<、>>) 运算符。
示例代码
#include <iostream>
using namespace std;
class Number {
private:
int value;
public:
Number(int v = 0) : value(v) {}
Number operator+(const Number& other) const {
return Number(value + other.value);
}
Number operator-() const {
return Number(-value);
}
friend ostream& operator<<(ostream& os, const Number& num);
friend istream& operator>>(istream& is, Number& num);
};
ostream& operator<<(ostream& os, const Number& num) {
os << num.value;
return os;
}
istream& operator>>(istream& is, Number& num) {
is >> num.value;
return is;
}
int main() {
Number a, b;
cout << "Enter two numbers: ";
cin >> a >> b;
Number sum = a + b;
Number neg = -a;
cout << "Sum: " << sum << endl;
cout << "Negative of a: " << neg << endl;
return 0;
}
解释
在上面的示例中,我们定义了一个名为 'Number' 的类,它包含一个私有成员变量 'value',用于存储数字的值。
- 我们重载了运算符 '+' 和 '-',分别用于实现两个 'Number' 对象的加法和负号操作。
- 我们还重载了 '<<' 和 '>>' 运算符,用于实现对象的输出和输入。
在 'main' 函数中,我们创建了两个 'Number' 对象 'a' 和 'b',并通过重载的 '>>' 运算符从用户输入中获取它们的值。
然后,我们使用重载的 '+' 运算符计算了 'a' 和 'b' 的和,并使用重载的 '-' 运算符计算了 'a' 的负数。最后,我们使用重载的 '<<' 运算符将结果输出到屏幕上。
运行结果
运行示例,用户将被要求输入两个数字,然后程序将计算它们的和并输出结果。同时,它还将计算第一个数字的负数并输出。
总结
通过运算符重载,我们可以为自定义类提供类似内置数据类型的运算功能,使代码更易读、更易于维护。
原文地址: https://www.cveoy.top/t/topic/jtIx 著作权归作者所有。请勿转载和采集!