📜  C++程序使用运算符重载减去复数(1)

📅  最后修改于: 2023-12-03 15:29:55.447000             🧑  作者: Mango

C++程序使用运算符重载减去复数

在C++中,我们可以使用运算符重载来定义我们自己的数据类型,使得这些数据类型能够像内置类型一样使用运算符。

下面是一个示例程序,它演示了如何使用运算符重载来减去复数。

#include <iostream>

using namespace std;

class Complex {
private:
    double real;
    double imag;
public:
    Complex(double real = 0, double imag = 0) : real(real), imag(imag) {}

    Complex operator- (const Complex& other) const {
        return Complex(real - other.real, imag - other.imag);
    }

    void print() const {
        cout << "(" << real << ", " << imag << ")" << endl;
    }
};

int main() {
    Complex x(1, 2);
    Complex y(3, 4);
    Complex z = x - y;

    z.print();
    return 0;
}

在上面的示例中,我们定义了一个Complex类来表示复数。Complex类有两个私有成员变量realimag,分别表示实部和虚部。Complex类还定义了一个构造函数,用于初始化实部和虚部。

我们使用运算符重载函数operator-来重载减号运算符,使得我们可以像内置类型一样使用减号运算符来减去两个复数。运算符重载函数operator-返回一个新的复数对象,其实部和虚部分别为两个复数对象对应实部和虚部的差值。

在主函数中,我们创建了两个复数对象xy,它们的实部和虚部分别为(1, 2)(3, 4)。我们使用运算符重载函数operator-来减去这两个复数,得到了一个新的复数对象z。最后,我们打印输出了新的复数对象z的实部和虚部分别为-2-2

通过这个示例,我们可以看到,使用运算符重载可以让我们的自定义数据类型更加灵活和易用。在实际应用中,我们可以根据具体需要进行适当的运算符重载操作,以适应不同的场景和需求。