自增运算符的重载
#include<iostream>
using namespace std;
class integer
{
public:
friend ostream& operator<<(ostream& cout, integer myint);
//重载自增运算符++a
integer& operator++()//为什么返回的是引用 引用的好处形成链接 为了一直对一个数据进行递增
{
m_a++;
return *this;
}
//重载自增运算符a++
integer operator++(int)//int 是站位参数 区分前置递增和后置递增 后置递增不能用引用的方式传入 因为要创建临时变量
{
integer temp;//先记录当时结果
temp = *this;
m_a++;
return temp;
}
integer()
{
m_a = 0;
}
private:
int m_a;
};
ostream& operator<<(ostream& cout, integer myint)//重载左移运算符 基本格式 注意这里后面我们要输出的是值 不能传入引用(i++)的情况下
{
cout << myint.m_a;
return cout;
}
void test01()
{
integer myint;
cout << ++myint << endl;
cout << myint << endl;
cout << myint++ << endl;
cout << myint << endl;
}
int main()
{
test01();
}