C++程序 添加两个复数
复数是由实数和虚数组成的数,可以用二元组(a,b)表示,其中a是实数部分,b是虚数部分,注意虚数的表达式为:b*i。
现在我们需要编写一个C++程序来输入两个复数,并输出它们的和。让我们看看该程序如何实现。
#include <iostream>
using namespace std;
class Complex {
private:
double real;
double imag;
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}
Complex operator + (const Complex& c) {
Complex res;
res.real = real + c.real;
res.imag = imag + c.imag;
return res;
}
friend istream& operator >> (istream& in, Complex& c) {
in >> c.real >> c.imag;
return in;
}
friend ostream& operator << (ostream& out, const Complex& c) {
out << c.real << "+" << c.imag << "i";
return out;
}
};
int main() {
Complex c1, c2, c3;
cout << "请输入两个复数:" << endl;
cin >> c1 >> c2;
c3 = c1 + c2;
cout << "这两个复数的和为:" << c3 << endl;
return 0;
}
我们在这里定义了一个Complex类,它具有实数和虚数部分。我们还重载了加法运算符,并使用友元函数来重载输入和输出运算符。在主函数中,我们定义了三个复数类型的变量,接收用户输入的两个复数,然后将它们相加得到第三个复数,并输出结果。
这里是一个例子:
请输入两个复数:
2.0 3.0
-1.0 4.0
这两个复数的和为:1+7i
结论
通过上面的例子,在C++中添加两个复数变得非常简单。您可以使用上面的源代码来创建一个类似的程序,或将它集成到自己的程序中。通过理解这个示例程序,您将学习如何定义类,如何重载二元运算符,以及如何使用友元函数来重载输入和输出运算符。