i = j++

赋值号,先执行右边的,再将右边的结果赋值给左边。

所以先执行j++再将其结果赋值给i。

j++实现:

const int int::operator(int)
{
int oldValue = *this;
++(*this);
return oldValue;
}

所以是先进行j++,比如j从1变为2,然后将旧值1返回,返回结果赋值给i。

这叫做运算符重载,之前我大一还写过,现在都忘得差不多了,唉。学而时习之,不亦乐乎。

 

附上前置加加++i实现:

int& int::operator++()
{
*this += 1;
return *this;
}

所以是直接拿本尊加一,然后返回本尊的值,比如i从1变为2,然后返回i,就是返回2。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章