как работать с Operator

Предыдущая тема Следующая тема Перейти вниз

как работать с Operator

Сообщение  electrik в Сб Окт 04, 2008 11:46 am

привет. вот у меня ко всем такой вопрос. что такое оператор? да я знаю что такое оператор, но во FreeBasic, появилась такая штука для их изменения. вобщем как работать с оператором "operator. я пока не доконца это понимаю, и вот вам пример из мануала. вообще если кто-то с этим разобрался, пора написать главу про операторы в онлайн книгу.

код
Type T

value As Double

Declare Constructor( ByVal x As Double = 0 )

Declare Operator += ( ByVal x As Double )

Declare Operator For()
Declare Operator Step()
Declare Operator Next( ByRef cond As T ) As Integer

Declare Operator Cast() As String

End Type

Constructor T ( ByVal x As Double )
value = x
End Constructor

Operator <= ( ByRef lhs As T, ByRef rhs As T ) As Integer
Operator = ( lhs.value <= rhs.value )
End Operator

Operator T.+= ( ByVal x As Double )
value += x
End Operator

Operator T.for()
End Operator

Operator T.step()
This += 1
End Operator

Operator T.next( ByRef cond As T ) As Integer
Operator = ( This <= cond )
End Operator

Operator T.cast() As String
Operator = Str( value )
End Operator

'' Example Usage

For i As T = 1 To 10
Print i
Next i

electrik

Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 36
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: как работать с Operator

Сообщение  justar в Сб Окт 04, 2008 7:43 pm

В двух словах - инструкция оператор позволяет переопределить функционал стандартного оператора - заставить его делать нечтто другое. Это аналог перегрузки функции.

justar

Сообщения : 135
Дата регистрации : 2008-05-12
Возраст : 43
Откуда : Кишинёв, Республика Молдоа

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: как работать с Operator

Сообщение  Eric-S в Вт Окт 07, 2008 9:20 am

Электрик, обрати внимание на то, что пример описывает "класс" или "пользовательский тип" что в нашем случае одно и тоже.
Где-то на офсайте видел класс для работы с булевыми данными. Там очень ярко и наглядно была показана работа с операторами, и то что она даёт.

А, вот и ссылочка.
Boolean Type by Imortis
Очень оригинальный подход и можно почерпнуть много интересного.

Сам я не работал и подробнее сказать не могу. Раздел в книге нужен, это да.
Если кто разберёться, киньте мне, я его добавлю в главу про процедуры и функции.

Eric-S

Сообщения : 738
Дата регистрации : 2008-08-06
Возраст : 34
Откуда : Россия, Санкт-Петербург

Посмотреть профиль http://eric50.narod.ru

Вернуться к началу Перейти вниз

Re: как работать с Operator

Сообщение  electrik в Вт Окт 07, 2008 7:20 pm

короче говоря, я так понял, что можно и обойтись без переопределения операторов, покрайней мере пока в моих программах это не является острой необходимостью. да и как-то громоздко все, пока я не смотрел исходники ассемблера, но мне кажется, что в бинарник пехается много не нужного.

electrik

Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 36
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: как работать с Operator

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения