//部分代码, 仅供参考#include <iostream.h> class complex { public: complex(double r=0,double i=0) { real=r; imag=i; } complex &operator +(complex &c); complex operator -(complex &c); complex operator *(complex &c); friend complex operator /(complex &c1,complex &c2); friend int operator ==(complex &c1,complex &c2); friend int operator !=(complex &c1,complex &c2); //friend complex operator++(complex &c); complex operator++(); void disp() { cout<<real<<"+"<<imag<<"i"<<endl; } private: double real; double 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); } complex complex::operator *(complex &c) { return complex(real*c.real-imag*c.imag,real*c.imag+imag*c.real); } complex operator /(complex &c1,complex &c2) { return complex((c1.real*c2.real+c1.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag),(c1.imag*c2.real-c1.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag)); } int operator ==(complex &c1,complex &c2) { return ((c1.real==c2.real)&&(c1.imag==c2.imag)); } int operator !=(complex &c1,complex &c2) { return !((c1.real==c2.real)&&(c1.imag==c2.imag)); } /*complex operator++(complex &c) { ++c.imag; ++c.real; return c; }*/ complex complex::operator++() { imag++; real++; return *this; } void main() { complex c1(2,3),c2(3.2,4.6); complex c3(2,3); (c1+c2).disp(); (c1-c2).disp(); (c1*c2).disp(); (c1/c2).disp(); if(c1==c3) cout<<"Equal"<<endl; if(c1!=c2) cout<<"Not Equal"<<endl; (++c1).disp(); }
第六次实验参考代码
最新推荐文章于 2022-06-09 11:36:13 发布