Назначение фиктивного параметра в постфиксной перегрузке оператора? C ++
При перегрузке оператора postfix, я могу сделать что-то простое, как
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
значение не зависит от фиктивного параметра. Я знаю, что если яхочу чтобы перегрузить постфиксный оператор, вот как это делается, я просто хочу знать причину.