#include <iostream>
using namespace std;
class Complex
{
private:
int a;
int b;
friend Complex operator+(Complex &c1, Complex &c2);
friend Complex& operator++(Complex &c1);
public:
Complex(int a = 0, int b = 0)
{
this->a = a;
this->b = b;
}
//成员函数实现前置 ++运算符重载
/*
Complex* operator++()
{
this->a++;
this->b++;
return this;
}
*/
void printCom()
{
cout << a << "+" << b << "i" << endl;
}
};
//定义全局函数
Complex operator+(Complex &c1, Complex &c2)
{
Complex tmp(c1.a + c2.a, c1.b + c2.b);
return tmp;
}
Complex& operator++(Complex &c1)
{
c1.a++;
c1.b++;
return c1;
}
int main()
{
Complex c1(1, 2), c2(3, 4);
//成员函数实现前置++ 运算符重载
/*
++c1;
c1.printCom();
*/
//友元函数实现前置++运算符重载
++c1;
c1.printCom();
return 0;
}
c++ -> 前置++运算符重载(单目运算符)
最新推荐文章于 2023-10-05 21:22:29 发布