在重載後綴運算符,我可以做一些簡單的像後綴運算符過載中虛擬參數的用途? C++
Class Foo
{
private:
int someBS;
public:
//declaration of pre &postfix++
Foo operator++();
//rest of class not shown
};
前綴不需要帶任何參數,所以當我定義它,像
Foo Foo::operator()
{
someBS ++;
return *this;
}
,這讓對我來說完美的感覺。
當我去定義後綴超負荷我必須包括一個虛擬的int參數
Foo Foo::operator++(int)
{
Foo temp = *this;
someBS ++;
return temp;
}
我的問題是爲什麼呢?我從來沒有在方法中使用它。前綴運算符不需要一個。返回temp
值的後綴不依賴於虛擬參數。我知道如果我想要重載一個postfix操作符,它是如何完成的,我只想知道背後的原因。
你會提出什麼替代方法? –
@AlanStokes,沒有其他辦法。鑑於我不確定其目的,我當然沒有辦法以不同的方式做。 – Podo
@AlanStokes,'Foo ++運算符()'和'Foo運算符++()'怎麼樣? ;) (只有5%嚴重...) – kloffy