Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
iandi
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 20
1

Перегрузка оператора

02.05.2012, 20:43. Просмотров 387. Ответов 4
Метки нет (Все метки)

Здравствуйте. Не могу разобраться, как перезагрузить оператор >>.
C++ (Qt)
1
2
int a;
cin >> a;
Надо, чтобы a умножалось на некое число, допустим, а*60. Как для этого надо передавать это число?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2012, 20:43
Ответы с готовыми решениями:

Перегрузка оператора []
Проблема в том, что надо обязательно использовать вид obj, а не obj.arr. Иначе всё работает)...

Перегрузка оператора +
Здравствуйте! Не могу понять, из-за чего появляется ошибка. Вот программа, которая должна...

Перегрузка оператора ==
Пытаюсь перегрузить оператор == . Делаю так: В классе: class cData // класс дата { int ...

Перегрузка оператора ==
Я уже встречала подобный вопрос на этом форуме, но у меня всё равно что-то не получается Вот...

перегрузка оператора!
Помогите сложить диагонали , при помоши перегрузки оператора+, чтобы можно было написать в maine:...

4
Catstail
Модератор
23605 / 11706 / 2046
Регистрация: 12.02.2012
Сообщений: 19,095
02.05.2012, 20:50 2
Мне кажется, что сначала нужно создать соответствующий класс...
0
PointsEqual
ниначмуроФ
840 / 524 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
02.05.2012, 21:02 3
Цитата Сообщение от iandi Посмотреть сообщение
Не могу разобраться, как перезагрузить оператор >>
никак.
для встроенных типов никак


а так можно
C++
1
2
3
4
   int a;
 
   cin >> a ;
   a *= 60;
0
iandi
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 20
02.05.2012, 21:05  [ТС] 4
Цитата Сообщение от PointsEqual Посмотреть сообщение
а так можно
C++
1
2
3
4
   int a;
 
   cin >> a ;
   a *= 60;
О этом варианте думал, но данных вводить надо много, и после каждого делать умножение не хотелось. Да и с перегрузкой на этом примере хотел разобраться.
0
PointsEqual
ниначмуроФ
840 / 524 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
02.05.2012, 21:21 5
Цитата Сообщение от iandi Посмотреть сообщение
Надо, чтобы a умножалось на некое число, допустим, а*60. Как для этого надо передавать это число?
хм, по-моему такого нельзя и для своего типа сделать...

оператор ввода определяется так
C++
1
friend istream& operator>>(istream& is, cTest& ob);
правый операнд - должна быть неконстантная ссылка

а в
C++
1
2
cTest t;
cin >> (t * 60)
(t * 60) - константа

так что никак нельзя. Поправьте если не так
0
02.05.2012, 21:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2012, 21:21

Перегрузка оператора [][]
допустим у меня есть клас Matrix и я хочу опедилить оператор доступа к его елементу как...

Перегрузка оператора =
Ввести строку символов S1. Программа должна содержать перегруженную операцию “=”, использование...

перегрузка оператора
Помогите,пожалуйста! у меня есть класс Gruppa, куда входят студенты (фамилия,номер...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru