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++中通过类和重载运算符实现复数的基本运算。通过以上代码示例,您可以创建和操作复数对象,并实现常用的加、减、乘、除等运算。
2.6KB
文件大小:
评论区