第九周实验报告1
2012-04-17 14:01
399 查看
#include<iostream> using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Complex operator+(Complex &c2); Complex operator-(Complex &c2); Complex operator*(Complex &c2); Complex operator/(Complex &c2); friend ostream& operator << (ostream &output, Complex &c); friend istream& operator >> (istream &input, Complex &c); //void display(); private: double real; double imag; }; //下面定义成员函数 Complex Complex::operator+(Complex &c2) { Complex c1; c1.real =real+c2.real ; c1.imag =imag+c2.imag ; return c1; } Complex Complex::operator-(Complex &c2) { Complex c1; c1.real =real-c2.real ; c1.imag =imag-c2.imag ; return c1; } Complex Complex::operator*(Complex &c2) { Complex c1; c1.real =real*c2.real - imag * c2.imag ; c1.imag =real*c2.imag + imag * c2.real ; return c1; } Complex Complex::operator/(Complex &c2) { Complex c1; c1.real = (real*c2.real + imag * c2.imag ) / ( c2.real * c2.real + c2.imag * c2.imag ) ; c1.imag =(imag* c2.real - real * c2.imag ) / ( c2.real * c2.real + c2.imag * c2.imag ) ; return c1; } //void Complex::display() //{ // cout << "(" << real << "," <<imag <<"i)"<<endl; //} ostream& operator << (ostream &output, Complex &c) { if (c.imag < 0) { output << c.real << c.imag << "i"; } else { output << c.real << "+" << c.imag << "i"; } return output; } istream& operator >> (istream &input, Complex &c) { cout << "输入复数:"; input >> c.real >> c.imag ; return input; } int main() { Complex c1,c2,c3; cin >> c1 >> c2; cout << "c1=" << c1 << endl; //c1.display(); cout << "c2=" << c2 << endl; //c2.display(); c3 = c1 + c2; cout << "c1+c2=" << c3 << endl; //c3.display(); c3 = c1 - c2; cout << "c1-c2=" << c3 << endl; //c3.display(); c3 = c1 * c2; cout << "c1*c2=" << c3 << endl; //c3.display(); c3 = c1 / c2; cout << "c1/c2=" << c3 << endl; //c3.display(); system("pause"); return 0; }
看着感觉好看!但是有点麻烦。。。