Complex复数类

class Complex
{
public:

Complex(int r = 10, int i = 10)
:mreal(r), mimage(i){}
Complex& operator=(const Complex &src)
{
   mreal = src.mreal;
   mimage = src.mimage;
   return *this;
}
 
//operator+   comp3 = comp1 + comp2;
Complex operator+(const Complex &src)
{
   return Complex(this->mreal + src.mreal,
   this->mimage + src.mimage);
}
Complex operator-(const Complex &src)
{
   return Complex(this->mreal - src.mreal,
   this->mimage - src.mimage);
}
void operator+=(const Complex &src)
{
   this->mreal += src.mreal;
   this->mimage += src.mimage;
}
Complex operator++(int)
{
   return Complex(this->mreal++, this->mimage++);
}
Complex& operator++()
{
   ++mreal;
   ++mimage;
   return *this;
}
void show()
{
   cout << "real:" << mreal << "image:" << mimage << endl;
}
private:
int mreal;//实部
int mimage;//虚部
 
friend ostream& operator<<(ostream &out, const Complex &src);
friend istream& operator>>(istream &in, Complex &src);
friend Complex operator+(const Complex &lhs, const Complex &rhs);
};

ostream& operator<<(ostream &out, const Complex &src)
{
   out << "real:" << src.mreal << " image:" << src.mimage;
   return out;
}
istream& operator>>(istream &in, Complex &src)
{
   in >> src.mreal >> src.mimage;
   return in;
}
Complex operator+(const Complex &lhs, const Complex &rhs)
{
   return Complex(lhs.mreal + rhs.mreal,
   lhs.mimage + rhs.mimage);
}

你可能感兴趣的:(C/C++基础)