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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
voice8787
 Аватар для voice8787
19 / 19 / 3
Регистрация: 21.08.2010
Сообщений: 136
19.03.2011, 20:06     Перегрузка унарного оператора #1
у меня есть метод, который выводит просто строку
C++
1
2
3
4
5
void CTimeCycle::operator>>(int x)
{    
   cout<<"123";
  return ;
}
когда хочу заменить перегружаемый оператор с бинарного на унарный выдает ошибку
C++
1
2
3
4
5
void CTimeCycle::operator!()
{    
   cout<<"123";
  return ;
}
не подскажите в чем может быть проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2011, 20:06     Перегрузка унарного оператора
Посмотрите здесь:

C++ Перегрузка унарного минуса
C++ перегрузка унарного оператора
Перегрузка оператора = C++
C++ Перегрузка операции унарного + (-)
C++ Перегрузка оператора =
Перегрузка оператора C++
C++ Перегрузка унарного минуса
Перегрузка унарного минуса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Manjak
 Аватар для Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
20.03.2011, 12:14     Перегрузка унарного оператора #2
В С++ запрещено писать свои операторы, можно перегружать только существующие
Mr.X
Эксперт С++
 Аватар для Mr.X
2807 / 1583 / 248
Регистрация: 03.05.2010
Сообщений: 3,698
20.03.2011, 23:21     Перегрузка унарного оператора #3
Вот так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
class T
{
public:
    void  operator!()
    {
        std::cout << "!!!!!"
                  << std::endl;
    }
};
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    T  t;
    !t;
}
Yandex
Объявления
20.03.2011, 23:21     Перегрузка унарного оператора
Ответ Создать тему
Опции темы

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