Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.06;
Скачать: CL | DM;

Вниз

переопределение операций(сложение, вычитание...)   Найти похожие ветки 

 
master_root ©   (2008-06-18 16:07) [0]

Переопределяю стандартную операцию вычитания для моего класса. Делаю всё как написано в справке к моей 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

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


 
Viktorious ©   (2008-06-18 17:09) [1]

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

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).


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

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


 
master_root ©   (2008-06-18 20:28) [3]

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



Страницы: 1 вся ветка

Текущий архив: 2009.09.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
15-1247053069
Дуб
2009-07-08 15:37
2009.09.06
О чем собственно говорит иностранец?


15-1247137679
Пит
2009-07-09 15:07
2009.09.06
Определение названия модуля по указателю


6-1206347840
SpellCaster
2008-03-24 11:37
2009.09.06
Ошибка 10055: WSAENOBUFS no buffer space available


15-1247067931
Артур Пирожков
2009-07-08 19:45
2009.09.06
Про систему ЕГАИС


15-1246981094
Дмитрий С
2009-07-07 19:38
2009.09.06
Как оптимальнее организовать оповещения о событиях