C++实现复数的基本运算

复数的运算(C++实现)

在本篇文章中,我们将深入探讨如何用C++实现复数的基本运算,以下是主要步骤和代码实现:

1. 定义复数类及数据成员

复数的内部包含两个浮点数:实部虚部。使用double类型表示复数的实部和虚部。

class Complex {
private:
    double real;  // 实部
    double imag;  // 虚部
public:
    // 构造函数
    Complex() : real(0), imag(0) {}  // 缺省构造函数
    Complex(double r) : real(r), imag(0) {}  // 实部赋值,虚部置0
    Complex(double r, double i) : real(r), imag(i) {}  // 实部和虚部分别赋值
};

2. 定义获取和修改成员函数

可以定义getReal()getImag()函数来获取复数的实部和虚部,同时提供setReal(double r)setImag(double i)来修改这些值。

    double getReal() const { return real; }
    double getImag() const { return imag; }
    void setReal(double r) { real = r; }
    void setImag(double i) { imag = i; }

3. 实现运算符重载(+,-,*,/)

这些运算符使得复数对象之间可以直接进行加减乘除操作。

加法运算

    Complex operator+(const Complex &c) const {
        return Complex(real + c.real, imag + c.imag);
    }

减法运算

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

乘法运算

    Complex operator*(const Complex &c) const {
        return Complex(real * c.real - imag * c.imag, real * c.imag + imag * c.real);
    }

除法运算

    Complex operator/(const Complex &c) const {
        double denom = c.real * c.real + c.imag * c.imag;
        return Complex((real * c.real + imag * c.imag) / denom, (imag * c.real - real * c.imag) / denom);
    }

4. 重载流插入运算符

使用<<运算符实现复数对象的输出。

    friend std::ostream& operator<<(std::ostream &out, const Complex &c) {
        out << c>

总结

本篇内容详细介绍了如何在C++中通过类和重载运算符实现复数的基本运算。通过以上代码示例,您可以创建和操作复数对象,并实现常用的加、减、乘、除等运算。

cpp 文件大小:2.6KB