class MyInteger
{
private:
int m_Num;
public:
MyInteger() : m_Num(0) {}
~MyInteger() {}
public:
// 前置递增重载
MyInteger &operator++()
{
m_Num++; // 先进行++运算
return *this; // 返回自身,解引用 this指针
}
// 后置递增重载
MyInteger& operator++(int)
{
// void operator++(int) int代表占位参数,可以区分前置和后置递增
// 后置递增要返回值 MyInteger operator++(int),因为 temp 是局部变量,函数结束后就释放了
// 实现先返回自身后运算结果
// 先记录当前值,递增,返回记录的值
// MyInteger temp = *this;
// this->m_Num++;
// return temp;
// test : 利用new
MyInteger* temp = new MyInteger(*this);
this->m_Num++;
return *temp;
}
MyInteger* temp = new MyInteger(*this);
这一步new的内存怎么释放掉