Форум программистов, компьютерный форум CyberForum.ru

Перегрузка оператора - C++

Восстановить пароль Регистрация
 
sanyaok
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 21
18.12.2011, 17:37     Перегрузка оператора #1
Доброго времени суток. Столкнулся с проблемой перегрузки оператора "++"
выдает ошибку в первой строке: postfix ‘const Counter operator++(const Counter&, const Counter&)’ must take ‘int’ as its second argument

собственно и сам код:

const Counter operator++(const Counter & lhs, const Counter & rhs)
{
Counter tmp(lhs);
tmp==rhs;
++tmp;
return tmp;
}

Прошу подскажите, кто знает в чем ошибка?
Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 17:37     Перегрузка оператора
Посмотрите здесь:

C++ Перегрузка оператора +=
Перегрузка оператора = C++
Перегрузка оператора * C++
Перегрузка оператора ~ C++
C++ Перегрузка оператора <<
C++ Перегрузка оператора +
C++ Перегрузка оператора <<
Перегрузка оператора + C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
18.12.2011, 18:23     Перегрузка оператора #2
Правильное объявление операторов ++:
C++
1
2
Counter& operator++(); // префиксный
const Counter operator++(int); // постфиксный
Эти операторы не могут быть свободными ф-иями. Только как методы класса.
Вообще возвращаемые типы могут быть другими. а вот аргументы - нет.
sanyaok
0 / 0 / 0
Регистрация: 18.12.2011
Сообщений: 21
18.12.2011, 19:36  [ТС]     Перегрузка оператора #3
ааай, точно же...
спасибо!
Yandex
Объявления
18.12.2011, 19:36     Перегрузка оператора
Ответ Создать тему
Опции темы

Текущее время: 08:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru