下面是一个简单的示例,演示了如何在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对象ab,并通过重载的>>运算符从用户输入中获取它们的值。然后,我们使用重载的+运算符计算了ab的和,并使用重载的-运算符计算了a的负数。最后,我们使用重载的<<运算符将结果输出到屏幕上。

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

cpp实现运算符重载+-负号重载通过对象进行输出运算后结果简便一点

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

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