
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.26] |
![]() |
|
Страницы: (117) « Первая ... 71 72 [73] 74 75 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#1081
,
|
|
|
ну я-то взял из forms.pas. Или ты подвергаешь сомнению, что dynamic используется?
![]() ![]() TCustomStatusBar = class(TWinControl) ... procedure DrawPanel(Panel: TStatusPanel; const Rect: TRect); dynamic; ... TCustomHeaderControl = class(TWinControl) ... procedure DrawSection(Section: THeaderSection; const Rect: TRect; Pressed: Boolean); dynamic; |
Сообщ.
#1082
,
|
|
|
Цитата Smike @ Не знаю, я же пока этот функционал не реализовывал. Но мне кажется, что нужно упор делать на операцию присвоения (=). Для условных операций делаем ==, чтобы не было разночтений. Хм. А стоит ли тогда так наворачивать? Сейчас получается достаточно стройный LL(1)-парсер. А в твоем варианте для корректного принятия решения надо будет просматривать входную последовательность на неопределенное количество токенов "вперед". И, в случае ошибки распознавания, отматывать назад. Может быть действительно, какой-нибудь префикс предусмотреть? |
Сообщ.
#1083
,
|
|
|
Для полноты картины: наезды в стиле «все программисты, которые используют C++ — тупые и ограниченные люди» являются переходом на личности. Цитата Smike @ Точнее не бывает. Методы в интерфейсах не имеют атрибутов, им можно задавать только тип вызова. Бывает и точнее. Как думаешь, это скомпилится? ![]() ![]() class IFoo { public: virtual void foo() = 0; }; void IFoo::foo(){} class Bar: public IFoo { }; int main() { Bar b; return 0; } Ответ: нет. |
![]() |
Сообщ.
#1084
,
|
|
Цитата Smike @ Дельфийский интерфейс не может быть аналогом абстрактного класса, потому что он может иметь множество различных реализаций. А по твоему абстрактный класс не может иметь множество различных потомков ![]() Цитата Smike @ Цитата (archimed7592 @ Сегодня, 11:04) Последний раз для совсем слепых: в Дельфи нет возможности делать такие же быстрые, масштабируемые и удобные в использовании системы, как на С++ потому что там нет вопросов. ![]() Упс... Думаю одно, пиши другое ![]() В Дельфи нет возможности делать такие же быстрые, масштабируемые и удобные в использовании системы, как на С++ потому что там нет шаблонов. Так лучше? ![]() |
Сообщ.
#1085
,
|
|
|
Цитата archimed7592 @ В Дельфи нет возможности делать такие же быстрые, масштабируемые и удобные в использовании системы, как на С++ потому что там нет шаблонов. Так - значительно лучше. Но неверно ![]() |
![]() |
Сообщ.
#1086
,
|
|
Цитата Romkin @ Но неверно ![]() Аргументацию пожалуйста. Я свою уже приводил. |
Сообщ.
#1087
,
|
|
|
Цитата archimed7592 @ Аргументацию пожалуйста. Я свою уже приводил. А это можно будет на примерах рассмотреть. Ибо мои идеи (по дальнейшему развитию рассматриваемого здесь примера) - ввести в калькулятор обработку комплексных чисел и чисел произвольной точности. Дабы, так сказать, посмотреть - сколько в каком случае потребуется затрат и модификаций кода. ![]() |
Сообщ.
#1088
,
|
|
|
Цитата archimed7592 @ А по твоему абстрактный класс не может иметь множество различных потомков ![]() Ты внимательно читаешь? В случае с потомком это переопределение, а не другая реализация. Цитата archimed7592 @ Аргументацию пожалуйста. Я свою уже приводил. Что-то я не видел. И предложение дать пример того, как шаблоны позволяют создавать быстрые и масштабируемые системы тоже не видел. Цитата mo3r @ Как думаешь, это скомпилится? Опять мешаем абстрактны классы с нативными интерфейсами? ![]() |
Сообщ.
#1089
,
|
|
|
Цитата archimed7592 @ Аргументацию пожалуйста. Я свою уже приводил. Я тоже, почти: Надо только немного перефразировать: "В языке X нет возможности делать такие же быстрые, масштабируемые и удобные в использовании системы, как на С++ потому что там нет шаблонов." Теперь: 1. У скольких языков нет шаблонов? 2. Практически только на С++ можно делать ... (см выше). И какие доказательства моих высказываний относительно большинства сишников еще нужны? ![]() PS. Не говорю "всех" по просьбе mo3r в #1250 |
![]() |
Сообщ.
#1090
,
|
|
Цитата Smike @ Ты внимательно читаешь? В случае с потомком это переопределение, а не другая реализация. Внимательно. Что-то ты терминами крутишь, а разницы никакой. Вот то что я пример приводил(IMyInterface, TMyImpl1, TMyImpl2...) - если это переписать на С++ думаешь что-нибудь изменится? Нет! Цитата Smike @ Что-то я не видел. В последний раз: CGAL - мощная библиотека для вычислительной геометрии. Это вам не DoClick, срабатывающий не чаще 20 раз в секунду... Это система, которая может оперировать миллионами геометрических сущностей, причём, каждую сущность можно настроить и не будет никакого оверхэда. Самый элементарный пример оттуда: есть ядро... возьмём декартово. Есть тип числа - вот здесь у меня в одной программе нужно использовать double ибо огромная точность не нужна, а в другой хочу использовать представление больших чисел из GMPXX. Ты представляешь, что будет с Дельфёвой геометрической библиотекой, если там число будет представляться интерфейсом(за отсутствием шаблонов)? Да она загнётся просто. А CGAL практически вся состоит из концепций и реализующих их моделей(от 2-3 до 10 и больше моделей на одну концепцию)... Цитата Smike @ Опять мешаем абстрактны классы с нативными интерфейсами? ![]() В С++ нет "нативных интерфейсов". Ты можешь дать точное определение "нативного интерфейса"(можно и не нативного ![]() |
Сообщ.
#1091
,
|
|
|
Так вроде бы со второй версии уже давно как. Только вот до плюсовых шаблонов шарповым ооооооооой как далеко... |
Сообщ.
#1092
,
|
|
|
Ну так и Delphi в слудующем релизе. Delphi .Net уже имеет шаблоны (до шарпа ![]() ![]() |
![]() |
Сообщ.
#1093
,
|
|
Цитата Romkin @ 2. Практически только на С++ можно делать ... (см выше). Извини, я тебя не понимаю. Если в С++ есть фича, которой с твоих слов нет в других языках, то это что плохо говорит о С++? Это не аргументация, это просто не относящиеся ни к чему слова. Цитата trainer @ из известных и распространенных - к Java уже прикрутили шаблоны, на очереди вроде C# Это не шаблоны, это generics - совсем другое. |
Сообщ.
#1094
,
|
|
|
Цитата archimed7592 @ Это система, которая может оперировать миллионами геометрических сущностей, причём, каждую сущность можно настроить и не будет никакого оверхэда. Да я согласен, пусть будет на C++. ![]() Цитата archimed7592 @ Ты можешь дать точное определение "нативного интерфейса"(можно и не нативного ![]() Да здесь вроде точное определение дано: Wikipedia Интерфейс не должен быть связан с классами. Это просто список методов, которые реализуются в классах. |
Сообщ.
#1095
,
|
|
|
Цитата Smike @ Ну так и Delphi в слудующем релизе. Delphi .Net уже имеет шаблоны (до шарпа ![]() ![]() А если в следующем релизе Делфи умрет? ![]() Smike, ты так и не предоставил доказательств того, что в делфи вызов ч-з интерфйс работает быстрее вызова виртуального метода. |