| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Перегружаемые операторы |
| Автор: Delphist 20.8.2008, 08:36 |
| Начиная с BDS2005 появилось нововедение Operator Overloading, скажите пожалуйста какие операторы можно переопределять, а также меня интересует можно ли например переопредилить оператор + и [] как в С++. Если нет прямого способа, то может как-нить hack'ом. |
| Автор: volvo877 20.8.2008, 09:20 |
| Оператор "+" это "class operator Add", а [] - используй Property |
| Автор: Delphist 20.8.2008, 09:52 |
это как? |
| Автор: MetalFan 20.8.2008, 12:12 |
| а что за оператор "[]"? в делфи чтото такого не помню... |
| Автор: Delphist 20.8.2008, 13:39 |
Что значит не помнишь например обращение к элементу в массиве происходит через [] , а я например хотел, чтобы возрашался не элемент, а что-нить другое. То для этого достаточно переопределить [] |
| Автор: MetalFan 20.8.2008, 14:35 | ||
Delphist, понятно. тогда видимо оно:
|
| Автор: Snowy 20.8.2008, 14:42 |
| Квадратные скобки - не оператор, а синтаксис. И переопределять незачем - они без функции не бывают. А в функции пиши, что хочешь - хозяин-барин. |
| Автор: Snowy 20.8.2008, 15:54 | ||
Это значит, что указание default у проперти делает идентичным обращения типа
|
| Автор: Delphist 28.8.2008, 09:05 | ||
а вот считал что default для свойства опрделяет значение по умолчанию. |
| Автор: Snowy 28.8.2008, 12:57 | ||||
| Ну тут далеко за примером ходить не нужно. Вот строка из объявления TStrings:
Не указывая конкретного проперти, подразумевается дефолтовое проперти. Но тут ничего перегружать не нужно - функции всегда явно прописаны на самом проперти. |
| Автор: WaReZMEN 5.12.2008, 11:17 |
| а как перегрузить "=" ???? подскажите примерчиком |
| Автор: bems 5.12.2008, 18:02 |
| WaReZMEN, class operator Equal Добавлено через 1 минуту и 14 секунд тут статья: http://www.realcoding.net/article/view/1885 |