Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
|
||||||||||||||||
1 | ||||||||||||||||
Переопределить оператор присваивания31.01.2010, 17:07. Просмотров 1974. Ответов 14
Метки нет Все метки)
(
Немогу переопределить оператор присваивания для своего типа - линейного списка. Проблема в том, что я хочу переопределить не что-то типа
Добавлено через 19 минут Если нужно могу выложить подробный код. Сколько читаю литературу по перегрузке операторов, нигде не нашел, чтобы именно так перегружать. Есть некоторые варианты для структур с 2 полями, но мне нужно именно для класса.
0
|
|
31.01.2010, 17:07 | |
Как создать виртуальный поток и переопределить оператор <<? Оператор присваивания в условии Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * Переопределить оператор << в классе |
|
![]() 1663 / 1035 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||||||
31.01.2010, 17:17 | 2 | |||||
Переопредели оператор индексации:
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
|
|||||||||||
31.01.2010, 17:32 [ТС] | 3 | ||||||||||
Я его уже переопределил. Мне же нужно теперь не только получить значение по индексу, а и присвоить значение по индексу. Ну если кто работал с линейными списками (vector, List) тот меня поймет, все эти типы предоставляют возможность присвоить значение так
Добавлено через 3 минуты Я переопределил так
0
|
![]() 2919 / 1268 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
31.01.2010, 19:14 | 4 | |||||
На самом деле, в таких случаях переопределяются два оператора:
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
|
||||||
01.02.2010, 02:17 [ТС] | 5 | |||||
Не совсем ясно где мне брать тут саму переменную, значение которой нужно записывать.
0
|
![]() 1663 / 1035 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||||||
01.02.2010, 18:47 | 6 | |||||
Переменная берётся непосредственно из объекта:
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
|
||||||
01.02.2010, 22:30 [ТС] | 7 | |||||
Не совсем понятно. У меня 2 ситуации: в первой нужно записать число в определенную позицию, а во второй считать.
Это как я понимаю найти число по позиции и вернуть его. Я это сделал. А вот как записать? вот код мне посоветовали
Я сколько Страуструпа читал, все равно не понял. У него там примера такого типа нету. Тоже только чтение по индексу. А запись...
0
|
![]() 2919 / 1268 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
01.02.2010, 23:30 | 8 |
Нифига себе - посоветовали......
![]() Если ты сам не знаешь, откуда тебе взять значение, которое надо в эту позицию записать - а откуда мы-то это узнаем? Телепатии, увы, не обучены..... Попробуй написать: а. Метод записи значения в позицию, б. Тестовый код, который запишет в заданную позицию, например, значение 1234. И покажи код.....
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
|
||||||||||||||||
02.02.2010, 17:50 [ТС] | 9 | |||||||||||||||
Хорошо. Выкладываю
MyClass.h
Вместо mass может быть какая угодно структура данных. Допустим я вообще буду не массивы использовать а писать напрямую в память и брать оттуда значения. Этой фразой хочу подчеркнуть, что только изменение индексации не поможет. Я сам должен буду написать методы putItem() и GetItem(), засунуть их в
0
|
![]() 2919 / 1268 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
||||||
02.02.2010, 18:19 | 10 | |||||
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
|
||||||
02.02.2010, 22:10 [ТС] | 11 | |||||
Упростил уже его по-максимуму, читает оно нормально по индексу, а вот присваивает((( Причем, если я работаю с массивами, переменными или еще какими структурами языка С++, то оно нормально обе операции делает, а вот в таком случае, когда я сам выделяю и заполняю память((( Что делать с этим? Как тут можно выкрутиться?
0
|
![]() 2919 / 1268 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
02.02.2010, 23:06 | 12 |
А вот нафига ты там накрутил ассемблер???
1
|
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
|
|
02.02.2010, 23:53 [ТС] | 13 |
А там без него никак. Я пишу свой класс на асме в С++. Это задание такое. Вообщем я реализовал то, что хотел. Всем спасибо. Но тут так выходит, что если ты в своей программе сам управляеш памятью, то нчего не получится. Нужно если массив - то массив С++. А так как у меня - лучше сразу об стену. Я сделал получение элемента по индексу, а вставка - пусть останется на совести Кернигана и Риччи)
0
|
![]() 2919 / 1268 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
03.02.2010, 09:53 | 14 |
Керниган и Ричи здесь совершенно ни при чем
![]()
1
|
Тематические курсы и обучение профессиям онлайн Профессия Разработчик на C++ (Skillbox) Архитектор ПО (Skillbox) Профессия Тестировщик (Skillbox) |
Пробующий
185 / 98 / 10
Регистрация: 28.04.2009
Сообщений: 1,104
|
|
03.02.2010, 17:00 [ТС] | 15 |
Спасибо. Я разобрался. Большое спасибо. Да там просто ссылку нужно передавать.
![]()
0
|
03.02.2010, 17:00 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Оператор присваивания Оператор присваивания Оператор присваивания. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |