#include<iostream>
using namespace std;
class Complex
{
public:
Complex(int a=0, int b=0)
{
this->a = a;
this->b = b;
}
//成员函数 实现“-”的重载
Complex& operator-(Complex &c)
{
this->a = this->a - c.a;
this->b = this->b - c.b;
cout << this->a<<"+"<<this->b<<"i"<< endl;
return *this;
}
public:
int getA()
{
return this->a;
}
int getB()
{
return this->b;
}
private:
int a;
int b;
};
//全局函数 实现“+”重载
Complex operator+(Complex &t1, Complex &t2)
{
Complex tmp(t1.getA()+t2.getA(),t1.getB()+t2.getB());
cout <<tmp.getA()<<"+"<<tmp.getB()<<"i" << endl;
return tmp;
}
int main()
{
/*全局函数,类成员函数方法实现运算符重载步骤
1、要承认运算符重载是一个函数,写出函数名称
2、根据操作数,写出函数参数
3、根据业务,完善函数返回值(看函数是返回引用 还是指针 元素),及实现函数业务*/
Complex c1(1,1);
Complex c2(1,3);
//先实现全局函数
//Complex c3 = c1 + c2;
//实现成员函数
Complex c4(10,10);
c4.operator-(c1);
system("pause");
}