#include <iostream>
using namespace::std;
class MyClass
{
public:
MyClass(int a, int b)
{
this->a = a;
this->b = b;
}
void print_Myclass()
{
cout << this->a << '+' << b << 'i' << endl;
}
//friend MyClass operator+=(MyClass &c1, MyClass &c2);
friend MyClass operator++(MyClass &c);
friend const MyClass operator++(MyClass &c, int);
MyClass operator+=(MyClass &anthor)//类的内部的重载
{
this->a += anthor.a;
this->b += anthor.b;
return *this;
}
private:
int a;
int b;
};
/*MyClass operator+=(MyClass &c1,MyClass &c2)//全局的重载+=
{
c1.a += c2.a;
c1.b += c2.b;
return c1;
}*/
/*MyClass operator++(MyClass &c)//重载的是前++
{
c.a++;
c.b++;
return c;
}*/
const MyClass operator++(MyClass &c,int)//重载的是后++
{
MyClass tem(c.a, c.b);
c.a++;
c.b++;
return tem;
}
int main()
{
MyClass c1(2, 3);
MyClass c2(3, 4);
MyClass c3(4, 4);
//c1 += c2+=c3;
//++++c1;
c1++;
c1.print_Myclass();
system("pause");
}
结果显示: