#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 &);
Complex operator -(Complex&);
Complex operator *(Complex&);
Complex operator /(Complex&);
void display();
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,imag*c.real+real*c.imag);
}Complex Complex::operator/(Complex &c)
{
return Complex((real*c.real+imag*c.imag)/(c.real*c.real+c.imag*c.imag),(c.imag*real-real*c.imag)/(c.real*c.real+c.imag*c.imag));
}
void Complex::display()
{
cout<<real;
if(imag>=0) cout<<"+";
cout<<imag<<"i"<<endl;
}
int main()
{
Complex c1(3,4),c2(-2,-3),c3;
c3=c1/c2;
c3.display();
}
在做题中发现:c++中的this引用是用 this-> ; 而Java才是this.