10 / 10 / 9
Регистрация: 30.03.2016
Сообщений: 163
|
|
1 | |
Как перегрузить оператор<< и оператор>> ?13.08.2016, 19:27. Показов 1609. Ответов 4
Метки нет (Все метки)
Доброго времени суток.
Застрял на двух вопросах и не как не могу найти инфу которвя мне помогла бы их решить. вопрос первый. В общем у меня есть обьект в который содержит массив типа char и его велечину.класс называеться (MString) перегрузить оператор [] функция которая должна вернуть мне значение находящиеся в индксе i тоесть когда я вызываю оператор то должно случиться следующее допустим у меня есть массив "Hello", и обьект a. a[1] должен вернуть мне "e". еще вопрос как мне перезагрузить опервторы "<<" ">>" библиотеки iostream. тоесть когда я в виду cout<<MString; мне выдасть сам массив и его велечину cin>>MString; в ведет данные в этот массив и его велечену. заранее спасибо)
0
|
13.08.2016, 19:27 | |
Ответы с готовыми решениями:
4
Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * Как перегрузить оператор []? Как перегрузить оператор >? Как перегрузить оператор = |
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
13.08.2016, 19:37 | 2 |
0
|
13.08.2016, 19:38 | 3 | |||||
Сообщение было отмечено Timama как решение
Решение
Просто прочти главу 14 книги липпмана, там очень подробно разжевано со всеми нюансами о том, каким образом и как перегружать операции.
в общем случае для << или >> шаблон примерно такой
1
|
10 / 10 / 9
Регистрация: 30.03.2016
Сообщений: 163
|
|
13.08.2016, 19:57 [ТС] | 4 |
Спасибо, а на счет первой мути, у кого есть идеи?
Добавлено через 16 минут на счет этого?
0
|
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
|
|||||||||||
13.08.2016, 20:06 | 5 | ||||||||||
Сообщение было отмечено Timama как решение
Решение
Timama, а тут-то чего. В своем классе перегружаешь оператор [], и, по-хорошему, две штуки.
Вот такой:
Где ptr - член твоего класса, который хранит си-строку, точнее адрес первого элемента. А кстати, реализацию класса не покажешь?
1
|
13.08.2016, 20:06 | |
13.08.2016, 20:06 | |
Помогаю со студенческими работами здесь
5
Как перегрузить оператор? Как правильно перегрузить оператор [] = Как перегрузить оператор разыменования * Как перегрузить оператор ввода? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |