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。

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