
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.188] |
![]() |
|
Страницы: (117) « Первая ... 94 95 [96] 97 98 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#1426
,
|
|
|
AndNot, а че там, давай создавай тему " Delphi vs Asm"! Забавно будет смотреться! Типа как "Микроскоп vs Молоток"
![]() |
Сообщ.
#1427
,
|
|
|
--Ins--, я не собираюсь ничего сравнивать, просто хотел разрядить обстановку, а то спор куда то не в ту сторону пошел
![]() ![]() Цитата --Ins-- @ Да уж, смотреться будет глупо а че там, давай создавай тему " Delphi vs Asm" ![]() ![]() |
Сообщ.
#1428
,
|
|
|
Цитата Для меня то очевидно, способ объявлений прототипов неважен, это все равно что сравнивать procedure vs void Согласен ![]() Цитата Но я бы непроч сравнить ООП этих языков, т.е. скорость, компактность, а главное их возможности в этих направлениях Я, к примеру, сейчас начал использовать списки, на ООП, вот и интересно, насколько эффективно я это реализовал. А мы вроде бы пытались что-то такое обсуждать поверхностно... Но попробовать можно ![]() |
Сообщ.
#1429
,
|
|
|
Цитата --Ins-- @ Было дело, ты мне здорово помог А мы вроде бы пытались что-то такое обсуждать поверхностно ![]() Цитата --Ins-- @ Иногда даже излишне свежий Мне бы тоже было интересно, свежий взгляд со стороны не помешает ![]() ![]() Цитата --Ins-- @ Думаю после 8-го марта появится немного времени, тогда и "созвонимся" Но попробовать можно ![]() |
Сообщ.
#1430
,
|
|
|
Цитата Я был неприятно удивлен, когда не смог перевести мои асмовские сорсы в паскаль, поскольку там, оказывается, у всех потомков виртуального метода должно быть одинаковое объявление параметров Эээ, а что, бывает как-то иначе? ![]() |
Сообщ.
#1431
,
|
|
|
Цитата AndNot @ Я был неприятно удивлен, когда не смог перевести мои асмовские сорсы в паскаль, поскольку там, оказывается, у всех потомков виртуального метода должно быть одинаковое объявление параметров А это как раз и необязательно. Давно уже можно делать overload виртуальных методов: ![]() ![]() If you overload a virtual method, use the reintroduce directive when you redeclare it in descendant classes. For example, type T1 = class(TObject) procedure Test(I: Integer); overload; virtual; end; T2 = class(T1) procedure Test(S: string); reintroduce; overload; end; Не это ли тебе было надо? |
![]() |
Сообщ.
#1432
,
|
|
Цитата Romkin @ Давно уже можно делать overload виртуальных методов Какой ужас ![]() |
Сообщ.
#1433
,
|
|
|
Цитата --Ins-- @ Эээ, а что, бывает как-то иначе? ![]() Ну у меня стек, очередь и т.д. реализованы на основе списков, и параметры у них разные. Может это и неправильно, но очень удобно ![]() |
Сообщ.
#1434
,
|
|
|
Цитата Может это и неправильно, но очень удобно По-моему, это и неправильно, и неудобно... ![]() ![]() |
Сообщ.
#1435
,
|
|
|
Цитата wind @ Давно уже можно делать overload виртуальных методов Какой ужас Почему? Что такого страшного в виртуальных методах? |
Сообщ.
#1436
,
|
|
|
Romkin, а я другого не понял... Зачем указывать reintroduce? В справке написано, что так надо, но если не указать, то что изменится?
|
Сообщ.
#1437
,
|
|
|
Цитата --Ins-- @ Зачем указывать reintroduce? А ты посмотри справку по этой директиве ![]() "The reintroduce directive suppresses compiler warnings about hiding previously declared virtual methods. " |
Сообщ.
#1438
,
|
|
|
Romkin, в том то и дело, что у меня варнинг не появляется, если reintroduce не указать.
Добавлено Ведь предыдущее объявление Test не скрывается! |
![]() |
Сообщ.
#1439
,
|
|
Цитата Romkin @ Что такого страшного в виртуальных методах? Я не про виртуальные методы, а про нарушение контрактов. |
Сообщ.
#1440
,
|
|
|
Цитата wind @ Я не про виртуальные методы, а про нарушение контрактов. Поясни, что ты хотел сказать ![]() Цитата --Ins-- @ Romkin, в том то и дело, что у меня варнинг не появляется, если reintroduce не указать. Убери директиву overload у предка. Потому что обычно ее там нет. |