python运算符重载、并且编写复数类的加减乘除_C++ 实验 使用重载运算符实现一个复数类...

本文通过C++实现了一个复数类,包括构造函数、析构函数,以及重载了加、减、乘、除四种运算符。此外,还实现了输入输出流重载以及相等和不等比较操作。代码示例展示了如何创建复数对象并进行各种运算。
摘要由CSDN通过智能技术生成

#include #include

using namespacestd;classComplex

{public:

Complex(double r = 0,double i = 0)//构造函数

{

real=r;

imag=i;

}~Complex()

{

}

friend Complexoperator+(Complex &c1,Complex &c2); //重载为友员函数

friend Complex operator*(Complex &c1,Complex &c2);

Complexoperator -(Complex&);//重载为成员函数

Complex operator /(Complex&);

friend istream& operator>>(istream&, Complex&);

friend ostream& operator<

friendbool operator==(Complex &c1,Complex &c2);

friendbool operator!=(Complex &c1,Complex &c2);voiddisplay( );private:doublereal;doubleimag;

};

Complexoperator + (Complex &c1,Complex &c2)

{return Complex(c1.real+c2.real, c1.imag+c2.imag);

}

Complexoperator * (Complex &c1,Complex &c2)

{return Complex(c1.real*c2.real, c1.imag*c2.imag);

}

Complex Complex::operator-(Complex &c)

{return Complex(real-c.real,imag-c.imag);

}

Complex Complex::operator/(Complex &c)

{return Complex(real/c.real,imag/c.imag);

}

istream& operator>>( istream& in, Complex &c )

{in >> c.real >>c.imag;return in;

}

ostream& operator<

{out << c.real << "+" << c.imag << "i\n";return out;

}bool operator == (Complex &c1,Complex &c2)

{if(c1.real==c2.real&&c1.imag==c2.imag)

{return true;

}else{return false;

}

}bool operator != (Complex &c1,Complex &c2)

{if(c1.real!=c2.real||c1.imag!=c2.imag)

{return true;

}else{return false;

}

}voidComplex::display( )

{

cout<

}intMenu()

{intt;

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cin>>t;returnt;

}intmain()

{int iChoice =1;

Complex c1,c2,c3,c4;while (iChoice!=0)

{

iChoice=Menu();switch(iChoice)

{case 1:

{

cout<

cin>>c1;

getchar();break;

}case 2:

{//c1.display();

cout<

}case 3:

{

cout<

cout<

cout<

cin>>c2;

getchar();

c3=c1+c2;break;

}case 4:

{

cout<

cout<

cout<

cin>>c2;

getchar();

c3=c1-c2;break;

}case 5:

{

cout<

cout<

cout<

cin>>c2;

getchar();

c3=c1*c2;break;

}case 6:

{

cout<

cout<

cout<

cin>>c2;

getchar();

c3=c1/c2;break;

}case 7:

{

cout<

cout<

}case 0:

{break;

}

}

}return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值