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' 的负数。最后,我们使用重载的 '<<' 运算符将结果输出到屏幕上。

运行结果

运行示例,用户将被要求输入两个数字,然后程序将计算它们的和并输出结果。同时,它还将计算第一个数字的负数并输出。

总结

通过运算符重载,我们可以为自定义类提供类似内置数据类型的运算功能,使代码更易读、更易于维护。

C++ 运算符重载:加法、负号、输入输出

原文地址: https://www.cveoy.top/t/topic/jtIx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录