1 | |||||||||||
Операция наследования с записями05.02.2014, 16:15. Показов 1539. Ответов 22
Метки нет (Все метки)
подскажите пожалуйста можно ли так?
допустим
можно ли так:
0
|
05.02.2014, 16:15 | |
Ответы с готовыми решениями:
22
Чем отличаются структуры для наследования интерфейса от структур для наследования реализаций? Наследования Наследования Наследования |
Native x86
5594 / 3338 / 951
Регистрация: 13.02.2013
Сообщений: 10,587
|
|||||||||||
05.02.2014, 17:14 | 4 | ||||||||||
Ну, если по-уму, то зачем плодить однотипные структуры? Тогда лучше так:
0
|
Супер-модератор
|
||||||
05.02.2014, 17:20 | 5 | |||||
Сообщение было отмечено Hretgir как решение
Решение
Hretgir, перегрузи оператор присваивания для нужных записей. Скажем, для того, чтобы делать то, что показано в твоем посте:
Добавлено через 1 минуту Не нужно этого делать. Даже при понимании подковерных процессов. Специально для того, чтобы этого НЕ делали, была изобретена перегрузка операций.
1
|
05.02.2014, 21:23 [ТС] | 6 | |||||
0
|
Супер-модератор
|
||||||
05.02.2014, 21:34 | 7 | |||||
Перегрузка оператора присваивания должна описываться как обычная глобальная функция, иначе смысла в ней нет. Вынеси реализацию изнутри метода наружу...
1
|
05.02.2014, 21:38 [ТС] | 8 | |||||
всё, вообще компилятор теперь не работает
выносил я его уже и так и так, у меня теперь компилятор не работает кажется
0
|
Супер-модератор
|
||||||
05.02.2014, 21:59 | 11 | |||||
Нормально все работает. Компиляцию, по крайней мере, проходит:
1
|
05.02.2014, 22:06 [ТС] | 12 |
всё, разобрался, не раскомментил фрагмент. да всё, спс, запутался чутка , фрагмент в описаниях типов не раскомментил
Добавлено через 7 минут учту раз и на всегда, я то его правильно писал как-то было, а потом что-то поставил снова
0
|
06.02.2014, 11:02 [ТС] | 13 |
UI, не сходится почему-то решил переименовать так, чтобы использовать те-же процедуры, что и для Y, чтобы убрать вот эт Part и названия переменных и процедур. и вобщем в перегрузке выдаёт ошибку. и вчерашний недостаток исправил, надо было компилить сразу, я после двух операций, не пойму в чём дело, вроде правильно переименовал всё. смотрю, ищу, но вроде просто оператор не туда вынес. а куда надо не знаю. но на всякий случай ищу свою ошибку
0
|
06.02.2014, 12:23 [ТС] | 14 |
или запись должна быть та-же, просто присваиваются значения не все? да вроде не должно так быть. и ошибку я не найду у себя никак . похоже я всё переименовал правильно
Добавлено через 18 минут собрал, просто я оператор вначале вставил а не в конце всей программы, и тогда всё заработало.
0
|
Супер-модератор
|
|
06.02.2014, 12:24 | 15 |
Я же написал:
, а не где попало. Если у меня процедура A описана ниже процедуры B, то на момент компиляции B компилятор об A ничего не знает, и попытка вызывать оттуда процедуру A завершится неудачей. Но вот если перенести реализацию A выше реализации B, то все сразу станет нормально. Проект в аттаче прекрасно компилируется (который generationHighMap).
И используй Ctrl+D для форматирования исходника, на него же смотреть страшно...
1
|
08.02.2014, 13:45 [ТС] | 16 |
UI, а можно сделать несколько операторов, к разным записям? думаю можно, сейчас созрела необходимость, буду пробовать. последний фильтр делаю, по оси Z, правда он урезаный и несколько отличается от фильтров по X и Z.
0
|
Супер-модератор
|
|
08.02.2014, 14:06 | 17 |
Да. Сколько нужно, столько и делается. Параметр перегруженного оператора должен быть того типа, из которого производится присваивание, а результат - того типа, в который нужно присвоить значение. Ограничений на количество операций присваивания нет.
1
|
25.03.2014, 22:55 [ТС] | 18 | ||||||||||
UI, а получается так-же можно добавить и поля в запись, если они описаны в другой записи? просто нет смысла все поля перезагружать по ходу обработки, а добавлять их по мере уменьшения размеров, допустим массива, когда лишние данные откидываются из обработки, то разумеется можно и уточнить информацию добавлением полей. можно точно так-же?
Добавлено через 13 минут просто мне до тестовых прогонов программы ещё неделя-три, а как-то делать надо, и хочется чтобы без переделок Добавлено через 22 часа 24 минуты буду считать что нельзя, иначе массив не сможет быть динамическим. но попробую. Добавлено через 2 часа 12 минут не понимаю:
0
|
26.03.2014, 21:31 [ТС] | 20 | ||||||||||
да можно, там ошибка другая была, если кому-то интересно, ссылка на этот-же форум, надеюсь это не будет ещё одним нарушением
Добавлено через 31 минуту и даже напрямую работает, точнее компилируется без ошибок, жаль я раньше не знал
на самом деле это-очень круто: любая здравая логика построена на уточнении информации при вычленении излишней. не знаю сколько языков программирования, ориентированные на AI элементы, основаны на этой концепции, но если мне повезёт, я займусь и этим предметом в программировании, именно на этом трюке. не зря-же я вьюсь столько около записей и массивов, испытывая на прочность компилятор.
0
|
26.03.2014, 21:31 | |
26.03.2014, 21:31 | |
Помогаю со студенческими работами здесь
20
наследования Наследования конструктора Множественное наследования Наследования QGraphicsRectItem Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |