Могу я использовать:
MyClass& MyClass::operator++ () {
a++; // private var of MyClass
return (*this);
}
Или это может быть:
MyClass MyClass::operator++ ();
В чем разница?
Спасибо за ответы. У меня другая проблема.
Многие поступают так:
MyClass& MyClass::operator++();
MyClass MyClass::operator++(int);
Разве это не нелогично? Приведите несколько примеров, если можете.
Я знаю, что первая версия является преинкрементной, а вторая - постинкрементной, но я спрашиваю, почему первая возвращает ссылку, а вторая - нет? Это тот же код (класс) и то же использование кода.