递增分为:前置递增和后置递增
具体示例代码如下:
#include<iostream>
using namespace std;
class MyInteger
{
friend ostream &operator<<(ostream &out, MyInteger MyInt);
public:
MyInteger()
{
m_Num = 1;
}
//前置++运算符重载 //引用的目的是当前的初始的值
MyInteger& operator++()
{
//先进行++
m_Num++;
//再返回
return *this;
}
//后置++运算符重载 int 表示占位符,表示
MyInteger operator++(int)
{
MyInteger temp = *this; //记录当前本身的值,然后让本身的值加1,但是返回的是以前的值,达到先返回后++;
m_Num++;
return temp;
}
private:
int m_Num;
};
ostream &operator<<(ostream &out, MyInteger MyInt)
{
out << MyInt.m_Num;
return out;
}
void test01()
{
MyInteger MyInt;
cout << ++MyInt << endl;
cout << MyInt << endl;
}
void test02()
{
MyInteger MyInt;
cout << MyInt++ << endl;
cout << MyInt << endl;
}
int main()
{
test01();
// test02();
system("pause");
return 0;
}
总结:前置递增返回引用,后置递增返回值。