Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

переопределение операций(сложение, вычитание...) [WinXP]


master_root ©   (2008-06-18 16:07:00) 

Переопределяю стандартную операцию вычитания для моего класса. Делаю всё как написано в справке к моей BDS 2005:
Код:
class operator Subtract(a, b: TNumSys): TNumSys;virtual;abstract;  
где
TNumSus - имя моего класса внутри которого я переопределяю операцию вычитания,
virtual;abstract; - объявляю его виртуальным и абстрактным, т.к. алгоритм его работы полностью должен определяться в дочерних классах.

Компилятор на синтаксис не ругается, но прикомпиляции выдаёт аж 5 ошибок только по одной этой строчке:
[Pascal Error] numsys_concept.pas(32): E2123 PROCEDURE, FUNCTION, PROPERTY, or VAR expected
[Pascal Error] numsys_concept.pas(32): E2029 ',' or ':' expected but '(' found
[Pascal Error] numsys_concept.pas(32): E2029 ';' expected but ':' found
[Pascal Error] numsys_concept.pas(32): E2029 ',' or ':' expected but ';' found
[Pascal Error] numsys_concept.pas(33): E2058 Class, interface and object types only allowed in type section

Помогите пожалуйста разобраться. Что делать?


master_root   (2008-06-18 20:28:00) [1]

спасибо.разобрался


master_root   (2008-06-18 20:18:00) [2]

там же в примере перегрузка используется в классе


Viktorious   (2008-06-18 17:09:00) [3]

Читайте справку внимательнее:

Delphi for .NET and Delphi for Win32 allow certain functions, or "operators" to be overloaded within record declarations. Delphi for .NET also allows overloading within class declarations.

Перегрузка операторов в классе - только для .NET. Delphi for Win32 допускает только перегрузку операторов для записей (record).


Наверх

Титульная страница Поиск, карта сайта Написать письмо