写一个程序:复数类Complex,使用友元函数完成复数的加法运算和复数的输出,并编程测试设计的类
时间: 2023-03-03 10:00:20 浏览: 286
好的,以下是使用C++语言编写的复数类Complex及友元函数实现复数加法运算和复数输出的代码示例:
```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) {}
friend Complex operator+(const Complex& c1, const Complex& c2);
friend ostream& operator<<(ostream& os, const Complex& c);
};
Complex operator+(const Complex& c1, const Complex& c2)
{
Complex res;
res.real = c1.real + c2.real;
res.imag = c1.imag + c2.imag;
return res;
}
ostream& operator<<(ostream& os, const Complex& c)
{
os << "(" << c.real << "+" << c.imag << "i)";
return os;
}
int main()
{
Complex c1(1.0, 2.0);
Complex c2(3.0, 4.0);
Complex c3 = c1 + c2;
cout << "c1=" << c1 << endl;
cout << "c2=" << c2 << endl;
cout << "c1+c2=" << c3 << endl;
return 0;
}
```
上面的程序定义了一个复数类`Complex`,包含了实部和虚部两个私有成员变量,以及一个构造函数和两个友元函数。其中,`operator+`函数实现了复数加法运算,`operator<<`函数实现了复数输出。在主函数中,我们创建了两个复数对象`c1`和`c2`,并通过加法运算得到了它们的和`c3`。最后,我们输出了三个复数对象的值,以验证我们设计的类是否正确。
希望这个程序对您有所帮助!
阅读全文