用成员函数实现复数类中的运算符重载

#include <iostream>using namespace std;class Complex{public:Complex(){real=0;imag=0;}Complex(double r,double i){real=r; imag=i;}Complex operator+(const Complex &c2);Complex operator-(const Complex &c2);Complex operator*(const Complex &c2);Complex operator/(const Complex &c2);void display();private:double real;double imag;};//下面定义成员函数Complex Complex::operator+(const Complex &c2){return Complex(real+c2.real,imag+c2.imag);}Complex Complex::operator-(const Complex &c2){return Complex(real-c2.real,imag-c2.imag);}Complex Complex::operator*(const Complex &c2){return Complex(real*c2.real-imag*c2.imag,real*c2.imag+c2.real*imag);}Complex Complex::operator/(const Complex &c2){return Complex((real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag),(-real*c2.imag+c2.real*imag)/(c2.real*c2.real+c2.imag*c2.imag));}void Complex::display(){if(imag>0)cout<<real<<"+"<<imag<<"i"<<endl;elsecout<<real<<imag<<"i"<<endl;}//下面定义用于测试的main()函数int main(){Complex c1(3,4),c2(5,-10),c3;cout<<"c1=";c1.display();cout<<"c2=";c2.display();c3=c1+c2;cout<<"c1+c2=";c3.display();c3=c1-c2;cout<<"c1-c2=";c3.display();c3=c1*c2;cout<<"c1*c2=";c3.display();c3=c1/c2;cout<<"c1/c2=";c3.display();return 0;}

,谁的指间滑过了千年时光;谁在反反复复中追问可曾遗忘;

用成员函数实现复数类中的运算符重载

相关文章:

你感兴趣的文章:

标签云: