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

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Производные классы, то, что не наследуется
Jill
сообщение 23.01.2006 14:32
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 105
Пол: Женский
Реальное имя: Юлия

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


подскажите, плз!
креплю проект

задание таково:
Создать класс поезд, имеющий стоимость билета. Определить конструктор, деструктор и методы доступа (чтения и записи) к полям класса.
Создать два производных класса:
1)Класс - общий вагон, имеющий стоимость билета и количество посадочных мест.
2)Класс – купейный вагон, имеющий стоимость билета, количество посадочных мест, стоимость постели.

не выходит с количеством посадочных мест (общий вагон и купейный) и стоимостью постели (купейный вагон)
то бишь то, что не наследуется от родительского класса

знаю, что "истина где-то рядом", но не доходит unsure.gif

помогите, пожалуйста


Прикрепленные файлы
Прикрепленный файл  ______________OOP.rar ( 193.51 килобайт ) Кол-во скачиваний: 168
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hardcase
сообщение 24.01.2006 17:44
Сообщение #2


code warrior
****

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

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


Цитата(Jill @ 23.01.2006 14:32) *
задание таково:
Создать класс поезд

то, что ты делаешь в программе - это НЕ ООП.
Разве так в Делфи объявляют КЛАССЫ?
type
UkRRain = ^RRain ;
RRain = record
PRain:TRain ;
Next: UkRRain ;
end;
UkRObschVagon = ^RObschVagon;
RObschVagon = record
PObschVagon: TObschVagon;
Next: UkRObschVagon;
end;
UkRKupVagon = ^RKupVagon;
RKupVagon = record
PKupVagon: TKupVagon;
Next: UkRKupVagon;
end;

Ты здесь объявляешь ЗАПИСИ и указателии на них. А классы объявляются по другому:
type
TMyClass = class(TParentClass)
private
{ закрытые члены }
protected
{ защищенные члены }
public
{ открытые члены }
end;

Изучай синтаксис!


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Jill
сообщение 25.01.2006 11:05
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 105
Пол: Женский
Реальное имя: Юлия

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


по-моему, классы у меня объявленны в другом юните...
type
TRain = class
private
Stoim: real;
Mesta: real;
Postel: real;
public
prInRec: Boolean;
Constructor Create;
function InputRecord: Boolean; virtual;
procedure OutputRecord;
end;

TObschVagon = class(TRain)
public
function InputRecord: Boolean; override;
end;

TKupVagon = class(TRain)
public
function InputRecord: Boolean; override;
end;

TForm2 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
RichEdit1: TRichEdit;
end;


это неверно? unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hardcase
сообщение 25.01.2006 14:00
Сообщение #4


code warrior
****

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

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


В принципе, верно, но вот так будет лучше:

// Car = Carriage

TCarriage = class // суперкласс любого вагона
private
fNextCar: TCarriage;
public
constructor Create; virtual;
procedure HitchCarriage(Car: TCarriage); //прицепить вагон
property NextCar: TCarriage read fNextCar;
end;//of class

TPassengerCar = class(TCarriage) // пассажирский вагон
private
fSeatsCount: integer;
fSeatCost: real;
public
costructor Create; override;
property SeatsCount: integer read fSeatsCount;
property SeatCost: real read fSeatCost;
end;//of class

TDormitoryCar = class(TPassengerCar) // купе
public
constructor Create; override;
end;//of class

TParlorCar = class(TPassengerCar) // общий вагон
public
constructor Create; override;
end;//of class


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Jill
сообщение 25.01.2006 14:42
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 105
Пол: Женский
Реальное имя: Юлия

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


ок, с этим разобрались )

но трабл остается...
каким макаром пораскидывать это самое "имеющий" (кстати, как это называется? свойство, запись?) по данным классам?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
hardcase
сообщение 25.01.2006 17:02
Сообщение #6


code warrior
****

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

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


Цитата(Jill @ 25.01.2006 14:42) *
ок, с этим разобрались )

но трабл остается...
каким макаром пораскидывать это самое "имеющий" (кстати, как это называется? свойство, запись?) по данным классам?
Вот, посмотри на код.


Прикрепленные файлы
Прикрепленный файл  Unit2.pas ( 4.68 килобайт ) Кол-во скачиваний: 177


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Jill
сообщение 26.01.2006 14:19
Сообщение #7


Пионер
**

Группа: Пользователи
Сообщений: 105
Пол: Женский
Реальное имя: Юлия

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


красиво написано smile.gif

отдельное спасибо за комментарии smile.gif

но...блин...визуализировать не получается sad.gif


зы: поисправляла кое-какие очепятки ;) вобщем, стараюсь...
еще раз пасиба за объяснялки

Сообщение отредактировано: Jill - 26.01.2006 14:29
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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