Junior — Middle
Come si può ridefinire il comportamento dell'operazione di incremento prefisso di una variabile nel vostro codice?
sobes.tech AI
Risposta dell'AI
В C++ поведение операции префиксного увеличения (например, ++x) можно переопределить, реализовав оператор operator++() в классе.
Для префиксного инкремента обычно определяют оператор без параметров, возвращающий ссылку на изменённый объект:
class Counter {
int value;
public:
Counter(int v) : value(v) {}
// Префиксный инкремент
Counter& operator++() {
++value;
return *this;
}
int getValue() const { return value; }
};
Такой оператор позволяет использовать ++obj; с ожидаемым поведением.
Отличие от постфиксного инкремента в том, что постфиксный принимает int в параметрах, а префиксный — нет.