Добрый день, люди добрые, помогите, пожалуйста с курсовой. Нужно написать программу на Delphi, а я в этом не гений...

Создать класс Pair (пара целых чисел); определить методы изменения полей и операцию сложения
пар (а, b) + (с, d) = (а + b, с + d). Определить класс-наследник Long с полями: старшая часть числа и
младшая часть числа. Переопределить операцию сложения и определить методы умножения и вычитания.

P.S. можете помочь хотя бы разобраться в задании, например «определить методы изменения полей»

@темы: Delphi

Комментарии
10.06.2010 в 14:21

Классы: http://infsis.ru/prog/. Там есть глава "методы", но лучше прочитать все.
Перегрузка операторов: http://cadmium.ru/content/view/1329/46/. Обратите внимание, что перегрузка появилась только в Delphi 8.
Рекомендую прочитать эти статьи - там нет ничего сложного.
Если возникнут вопросы по реализации - задавайте, но приведите код того, что сделали и как пытались сделать не получившуюся вещь.
10.06.2010 в 14:22

спасибо за отзывчиваость
10.06.2010 в 19:24

вот что у меня пока имеется:



но в этом месте
« res.V1:=a.V1+b.V2;
res.V2:=c.V1+d.V2;
» выдает ошибку Record, object or class type required

10.06.2010 в 20:28

У вас в классе переменные a, b, c, d объявлены как integer:

a,b,c,d: integer;

А вы пытаетесь получить доступ к их свойствам. Если нужно сложить "a" и "c" текущего объекта с другим, то можно написать так:



Но только это не перегрузка оператора "+". Эта операция описана во второй ссылке - нужно просто создать метод:


10.06.2010 в 20:56

воспользовалась вашим первым примером


но выдает ошибку Access vialation at adress... и указываает на эти

строки... Не подскажите в чем загвоздка?

10.06.2010 в 21:23

Ошибок много: перепутаны локальные переменные, элементы класса и свойства. Типы разные ну и т.д. Еще я создать выходной объект забыл :)
Вот немного поправил код:

10.06.2010 в 21:53

ВЫ ПРОСТО ЧУДО, теперь компилируется и работает без всяких ошибок. спасибо