9.定义一个复数类Complex,重载运算符“+”,“—”,使之能用于复数的加,减运算,运算符重载函数作为Co

2025-04-19 14:46:16
推荐回答(1个)
回答1:

给个看得懂的吧,一楼也不错,只不过只能运算已给数据,这个自己可以输入。
#include
class Complex
{
private:
double real,image;
public:
double Complex_x,Complex_y;
Complex(double r=0,double i=0);
void Complex_get();//复数的输入,功能函数//
void print();//复数的输出,功能函数//
friend Complex operator+(Complex c1,Complex c2);
friend Complex operator-(Complex c1,Complex c2);
};
void Complex::print()
{
cout<}
Complex::Complex(double r,double i)//构造函数的实现//
{
Complex_x=r;
Complex_y=i;
}
void Complex::Complex_get()
{
cout<<"Please input the real of complex:";
cin>>Complex_x;
cout<<"Please input the image of complex:";
cin>>Complex_y;
}
Complex operator+(Complex c1,Complex c2)//运算符重载//
{
Complex temp;
temp.Complex_x=(c1.Complex_x)+(c2.Complex_x);
temp.Complex_y=(c1.Complex_y)+(c2.Complex_y);
return temp;
}
Complex operator-(Complex c1,Complex c2)//运算符重载//
{
Complex temp;
temp.Complex_x=(c1.Complex_x)-(c2.Complex_x);
temp.Complex_y=(c1.Complex_y)-(c2.Complex_y);
return temp;
}
void main()
{
char X;
Complex c1,c2,c3;//创建对象,此处c1c2c3将其覆盖非上面的c1c2c3//
while(3)//永真循环(死循环,大哥这个=。=,可重复计算//
{
c1.Complex_get();
cout<<"Please input the operator:";
cin>>X;
c2.Complex_get();
if(X=='+')
{
c3=c1+c2;
c3.print();
}
else if(X=='-')
{
c3=c1-c2;
c3.print();
}
else
cout<<"It's wrong"< }}