IPB
ЛогинПароль:

> ООП во FP, робота с обьектами
compiler
сообщение 22.04.2007 16:36
Сообщение #1


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


вот какой вопрос возник(словами не получается попробую на примере)
дано 3 объекта(одного типа M с двумя полями- днем и месецем.) необходимо прочитать данные для первых 2-х объектов(это я сам сделаю) и ввести разницу дат в 3-ий объект(как).

примечание
первый и второй объект являются родительскими для третьего.
Помогите.. Собственно у меня все получается кроме обработки данных

интересно было бы увидеть реализацию и на TP.

Сообщение отредактировано: compiler - 22.04.2007 16:36


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 25.06.2007 15:55
Сообщение #2


Гость






Цитата
идея интересная, но мне понадобится сравнивать и с другими числами
Ты бы уточнял, ЧЕГО ты хочешь? Либо КАЖДОЕ поле сравнивать с ОДНИМ И ТЕМ ЖЕ числом
(тогда - вот так:
operator = (const X: T; const i: integer): boolean;
begin
result := (X.a = i) and (X.b = i);
end;
...
// тестируем:
obj.init(3, 3);
writeln(obj = 3);

obj.a := 9;
writeln(obj = 9);
...


)

, либо (что в конце концов тебе выяснится, тебе и было нужно) каждое поле - с РАЗНЫМ числом...

Цитата
а где про нее можна прочитать?
Нигде нельзя... Попробуй то же самое сделать для Class-а, а не для Object-а, получишь ошибку компиляции... Для Object-ов и Record-ов все прекрасно работает...
 К началу страницы 
+ Ответить 
compiler
сообщение 27.06.2007 16:53
Сообщение #3


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 25.06.2007 15:55) *

Либо КАЖДОЕ поле сравнивать с ОДНИМ И ТЕМ ЖЕ числом, либо (что в конце концов тебе выяснится, тебе и было нужно) каждое поле - с РАЗНЫМ числом...
пока достаточно с одним...

посижу подумаю...


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 2.07.2007 13:47
Сообщение #4


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Добрый день!
У меня есть вопрос, мне надо перегрузить оператор присваивания...
у меня он должен заключаться в следующем
1) присваивания между обьектами одного класса происходит стандартно(выражение слева приобретает выражение справа)
2) возможно когда выражение справа есть некий символ (а еще лучше если можно было бы использовать строку)
тоесть есть класс направление (содержащий два поля -- x, y.). если я пишу
 direction:='left';
, тогда должно происходить следующее
direction.x:= -1; direction.y:=0;
.
Заранее благодарен.

Добавлено через 3 мин.
и еще, нельзя ли использовать различные методы сравнения(в смысле перезагруженные операторы сравнения) в зависимости от передаваемых параметров?

Сообщение отредактировано: compiler - 2.07.2007 13:51


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
compiler   ООП во FP   22.04.2007 16:36
volvo   Вот с этого места - подробнее... Это как понимать?...   22.04.2007 16:47
compiler   Вот с этого места - подробнее... Это как понимать?...   22.04.2007 16:59
мисс_граффити   не получается так:   22.04.2007 16:59
compiler   не получается так:кажется я всех запутал. текст пр...   22.04.2007 17:06
мисс_граффити   так? procedure FrRes.subtract(const f1,f2: fractio...   22.04.2007 17:10
volvo   compiler, вот я не понимаю, зачем тебе ЗДЕСЬ насле...   22.04.2007 17:14
compiler   2 мисс_граффити ,наверно то но как собственно вызы...   22.04.2007 17:22
мисс_граффити   1. эта цель - она не цель :) разве обязательно исп...   22.04.2007 17:29
compiler   как задать константу у обьекта/класса? заранее бла...   23.06.2007 18:57
volvo   Зачем это тебе, расскажи ...   23.06.2007 19:01
compiler   Зачем это тебе, расскажи ...мне надо реализовать к...   24.06.2007 18:28
мисс_граффити   Разработчики Java так любят делать, по-моему. Опр...   23.06.2007 19:34
hardcase   Константы? Насколько я знаю такие экземпляры класс...   23.06.2007 21:24
volvo   Можно код для FPC? (вопрос был именно про FPC, та...   23.06.2007 23:47
hardcase   Можно код [b]для FPC? (вопрос был именно про FPC...   24.06.2007 0:44
volvo   В FPC нет понятия class property... Функция/процед...   24.06.2007 19:01
compiler   я чего то туплю.... ничего не понимаю...   24.06.2007 19:04
volvo   Что непонятно? Ну, вот, скажем: unit z; interfac...   24.06.2007 19:19
compiler   кажется понял, спасибо... с меня + Добавлено чер...   24.06.2007 19:31
volvo   Это смотря что ты хочешь сравнивать с нулем... То ...   24.06.2007 22:01
compiler   через метод не так интересно... интересно было бы ...   25.06.2007 11:22
мисс_граффити   сорри, FPC у меня нет, проверить могу только в дел...   24.06.2007 22:01
volvo   В таком случае (если у тебя 2 поля должны быть одн...   25.06.2007 14:08
compiler   В таком случае (если у тебя 2 поля должны быть одн...   25.06.2007 14:23
volvo   Ты бы уточнял, ЧЕГО ты хочешь? Либо КАЖДОЕ поле ср...   25.06.2007 15:55
compiler   Либо КАЖДОЕ поле сравнивать с ОДНИМ И ТЕМ ЖЕ числ...   27.06.2007 16:53
compiler   Добрый день! У меня есть вопрос, мне надо пере...   2.07.2007 13:47
volvo   {$mode objfpc} type dir = (left, right, up,...   2.07.2007 19:16
compiler   Огромное спасибо! но у меня есть пару вопросов...   4.07.2007 17:34
volvo   1. Нет, это перечислимый тип. 2. Непонятен способ...   4.07.2007 17:55
compiler   1. Нет, это перечислимый тип.а где про него можна ...   4.07.2007 18:06
volvo   Перечислимые типы сравни с: Множественные типы Н...   4.07.2007 18:11
compiler   с горем пополам вроде понл совершенно [b]новый тип...   4.07.2007 18:32
volvo   Нет... Во всяком случае - с помощью перечислимых т...   4.07.2007 18:45
compiler   а вообще возможно ли такое реализовать(именно с ну...   4.07.2007 19:05
volvo   А зачем? У тебя же есть уже Integer, зачем второй ...   4.07.2007 19:20
compiler   А зачем? когда-то хотел ради интереса, но практиче...   4.07.2007 19:26
compiler   двигаюсь дальше появляются новые ошибки... в этот ...   4.07.2007 20:28
volvo   map это у тебя что? Не имя ли объекта? Если так, т...   4.07.2007 21:09
compiler   тут я разобрался, но у меня возникают проблемы при...   8.07.2007 17:28
volvo   Потому, что у тебя программа не знает о переопреде...   8.07.2007 18:51
compiler   спасибо! А можна где нибудь посмотреть пример...   8.07.2007 19:47
volvo   Можно посмотреть пример, как ты это делаешь?   8.07.2007 20:27
compiler   Можно посмотреть пример, как ты это делаешь?{...   8.07.2007 20:38
volvo   Ты пытаешься вызвать процедуру через тип объекта, ...   8.07.2007 21:19
compiler   м-да... Ты пытаешься вызвать процедуру через тип о...   9.07.2007 12:42
volvo   Того, что есть в документации (prog.pdf, chapters ...   9.07.2007 12:50
compiler   Того, что есть в документации (prog.pdf, chapters ...   9.07.2007 13:03
volvo   Ну, отличий тоже хватает: 1) (там же - 8.2.13) ...   9.07.2007 13:28
compiler   4) Уровень доступа publishedа можна тут по подробн...   9.07.2007 13:48
compiler   где можна посмотреть конструктор для class-а, с ин...   13.07.2007 12:57
compiler   и деструктор(имея указатель на уничтожаемый обьект...   13.07.2007 13:39
volvo   Модуль: unit _u; interface type T = object pr...   13.07.2007 15:51
compiler   volvo, спасибо большое, твоя программка заставила ...   14.07.2007 15:35
volvo   [b]6.2. Class instantiation Remember that [color=r...   14.07.2007 16:39


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 8.08.2025 16:44
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"