powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / недогоняю operator++
8 сообщений из 8, страница 1 из 1
недогоняю operator++
    #32970252
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таписал так:
Код: plaintext
1.
2.
3.
4.
5.
  TSYSTEMTIMEELEMENT& operator++()
  {
   value++;
   return *this;
  };
при компиляции ругается такими словами:
no 'operator++(int)' declared for postfix '++' trying prefix operator instead.

я чую что эти postfix и prefix что-то важное означают. но не знаю что.
вместо того чтобы разбиратья по учебникам пишу так
Код: plaintext
1.
2.
3.
4.
5.
  TSYSTEMTIMEELEMENT& operator++(int)
  {
   value++;
   return *this;
  };
и все собирается и работает.

в чем грабля?
...
Рейтинг: 0 / 0
недогоняю operator++
    #32970277
в чем грабля?
TSYSTEMTIMEELEMENT& operator++() - так описывается перегрузка префикс
TSYSTEMTIMEELEMENT& operator++(int) -так описывается перегрузка постфикса
параметр int - служит для отличия в синтаксисе (он не используется в теле ф-ции)
...
Рейтинг: 0 / 0
недогоняю operator++
    #32970297
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что это prefix и postfix?
типа
++a
или
a++
?
...
Рейтинг: 0 / 0
недогоняю operator++
    #32970379
Feniksa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а я вообще не догнал твой синтаксис.
Если ты имееш ввиду инкремент и декремент, то ето просто добавить к некой переменной +1. Например имеем цикл, и мы хочем , что бы цикл через 10 прохождений закрылся:
int i;
while (i<=10)
{
//Исполбзование инкремента, тоесть прибавляем +1
i++;
}
А дикремент наоборот, отнимает 1
...
Рейтинг: 0 / 0
недогоняю operator++
    #32970384
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Feniksa
не надо меня уж такому то примитиву учить :-)
тебе понятие "перезагрузка оператора" говорит чтонибудь?
...
Рейтинг: 0 / 0
недогоняю operator++
    #32974843
Шогал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_kа что это prefix и postfix?
типа
++a
или
a++
?
Префиксный оператор имеет более высокий приоритет, чем постфиксный. Иными словами, сначала выполняется префиксный инкремент, потом арифметические операции, а потом постфиксный инкремент.
Код: plaintext
1.
2.
3.
  int a1 =  3 ;
  int b1 =  2 +(a1++); // a1 -> 4, b1 -> 5
  int a2 =  3 ;
  int b2 =  2 +(++a2); // a2 ->  4 , b2 ->  6 
...
Рейтинг: 0 / 0
недогоняю operator++
    #32974936
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну я понял, спасибо :-)

а (int) в операторе надо писать для отличия одного от другого, походу...
...
Рейтинг: 0 / 0
недогоняю operator++
    #32975835
redskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шогал alex_kа что это prefix и postfix?
типа
++a
или
a++
?
Префиксный оператор имеет более высокий приоритет, чем постфиксный. Иными словами, сначала выполняется префиксный инкремент, потом арифметические операции, а потом постфиксный инкремент.
Код: plaintext
1.
2.
3.
  int a1 =  3 ;
  int b1 =  2 +(a1++); // a1 -> 4, b1 -> 5
  int a2 =  3 ;
  int b2 =  2 +(++a2); // a2 ->  4 , b2 ->  6 


Если о приоритетах, то наоборот, постфиксный инкремент имеет более высокий приоритет, чем префиксный. А разница в примере вызвана тем, что префиксный возвращает в качестве результата новое значение переменной, а постфиксный - старое.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / недогоняю operator++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]