#pragma once
class Complex
{
private :
int nReal;
int nImg;
public:
Complex(int r = 0, int i = 0);
friend Complex operator+(Complex &c1, Complex &c2);
friend Complex operator-(Complex& c1, Complex& c2);
Complex operator++(int);//后缀
Complex operator++();//前缀
Complex operator=(Complex& c1);
void Print();
};
#include "Complex.h"
#include <iostream>
using namespace std;
Complex::Complex(int r, int i)
{
nReal = r;
nImg = i;
}
Complex Complex::operator++(int)//后缀
{
int r = nReal++;
int i = nImg++;
return Complex(r,i);
}
Complex Complex::operator++()//前缀
{
++nReal;
++nImg;
return *this;
}
Complex Complex::operator=(Complex& c1)
{
nReal = c1.nReal;
nImg = c1.nImg;
return *this;
}
void Complex::Print()
{
cout << '(' << nReal << ',' << nImg << ')' << endl;
}
Complex operator+(Complex &c1, Complex &c2)
{
int r = c1.nReal + c2.nReal;
int i = c1.nImg + c2.nImg;
return Complex(r,i);
}
Complex operator-(Complex& c1, Complex& c2)
{
int r = c1.nReal - c2.nReal;
int i = c2.nImg - c2.nImg;
return Complex(r,i);
}
// Test01.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include "Complex.h"
int main()
{
Complex c1(1, 2);
Complex c2 = c1++;
c2.Print();
c1.Print();
++c1;
c1.Print();
Complex c3 = c1 + c2;
c3.Print();
Complex c4 = c2 - c1;
c4.Print();
return 0;
}
