学习后置递增重载时,发现后置递增无法链式编程,想了很久都没有想到解决办法,请问该怎么办

问题遇到的现象和发生背景

后置递增无法链式编程

问题相关代码,请勿粘贴截图
class integer
{
    friend ostream& operator<<(ostream &cout, integer p);
public:
    integer& operator++()
    {
        m_num++;
        return *this;
    }
    integer operator++(int)
        //为了区分前++和后++:前++用 函数 ++(void) ,  后++用函数++(int),这是固定语法
    {
        integer temp = *this;
        m_num++;
        return temp;
        
    }
private:
    int m_num = 0;
};
ostream& operator<<(ostream &cout, integer p)
{
    cout << p.m_num;
    return cout;
}
void test13()
{
    integer p1;
    cout << ((p1++)++)++ << endl;
    cout << p1 << endl;
}

运行结果及报错内容

后置递增仍然不能加到3,只能加到1

我的解答思路和尝试过的方法
我想要达到的结果

实现链式编程,一直加