Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16

Классы с использованием полиморфизма

09.12.2010, 00:29. Показов 878. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста найти ошибку. Программа запускается, но при вводе данных вылетает без объявления войны=(
Вот задание.
Определить классы и их иерархию. Организовать механизм сложного полиморфизма. Продемонстрировать использовние введённых конструкций при работе.
Верхняя одежда, пальто, пиджак, куртка.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
program modeler;
uses crt;
type
odejda= object
a: string; {vvod simvola}
razm: byte; {razmer}
razm1: byte;  {razmer2}
opis: string; {opisanie}
procedure info;virtual; {opisanie}
procedure vvod;
procedure razmeru;virtual;
end;
type palto= object(odejda)
pug: byte; {kol-vo pugovic}
mas: byte; {massa izdeli9}
opis1: string;
procedure info; virtual;
procedure razmeru; virtual;
end;
type pidjak= object(odejda)
pug: byte; {kol-vo pugovic}
shir: byte; {shirina v ple4ah}
opis1: string;
procedure info; virtual;
procedure razmeru; virtual;
end;
type kurtka= object(odejda)
mas: byte;
shir: byte;
opis1: string;
procedure info; virtual;
procedure razmeru; virtual;
end;
Procedure odejda.info;
begin
opis:='predmetu odejdi odevaemoj po verh nijnej.';
Writeln (opis,'diapazon razmerov ot  ',razm,'  do  ',razm1);
end;
procedure odejda.razmeru;
begin
Writeln('zadajte diapazon razmerov ot');
Readln(razm);
Writeln('do');
Readln(razm1);
end;
Procedure palto.info;
begin
opis:='predmetu odejdi odevaemoj po verh nijnej.';
opis1:='osennij variant.';
Writeln (opis,opis1,'diapazon razmerov ot  ',razm,'  do  ',razm1);
Writeln ('kol-vo pugovic - ', pug,'massa izdeli9 - ',mas);
end;
procedure palto.razmeru;
begin
Writeln('zadajte diapazon razmerov ot');
Readln(razm);
Writeln('do');
Readln(razm1);
Writeln('zadajte kol-vo pugovic');
Readln(pug);
Writeln('zadajte massu izdeli9');
Readln(mas);
end;
Procedure pidjak.info;
begin
opis:='predmetu odejdi odevaemoj po verh nijnej.';
opis1:='strogij variant.';
Writeln (opis,opis1,'diapazon razmerov ot  ',razm,'  do  ',razm1);
Writeln ('kol-vo pugovic - ', pug,'shirina v ple4ah - ',shir);
end;
procedure pidjak.razmeru;
begin
Writeln('zadajte diapazon razmerov ot');
Readln(razm);
Writeln('do');
Readln(razm1);
Writeln('zadajte kol-vo pugovic');
Readln(pug);
Writeln('zadajte shirinu v ple4ah');
Readln(shir);
end;
Procedure kurtka.info;
begin
opis:='predmetu odejdi odevaemoj po verh nijnej.';
opis1:='letnij variant.';
Writeln (opis,opis1,'diapazon razmerov ot  ',razm,'  do  ',razm1);
Writeln ('massa izdeli9 - ', mas,'shirina v ple4ah - ',shir);
end;
procedure kurtka.razmeru;
begin
Writeln('zadajte diapazon razmerov ot');
Readln(razm);
Writeln('do');
Readln(razm1);
Writeln('zadajte massu izdeli9');
Readln(mas);
Writeln('zadajte shirinu v ple4ah');
Readln(shir);
end;
Procedure odejda.vvod;
var odejda1:odejda;
palto1:palto;
pidjak1:pidjak;
kurtka1:kurtka;
begin
Writeln (' Vvedite "O","P","I" ili "K" ');
Readln(a);
While (a<>'k') and (a<>'K') and (a<>'p') and (a<>'P') and (a<>'o') and (a<>'O')
and (a<>'i') and (a<>'I') do begin
Writeln ('Nevernij simol, vvedite "O","P","I" ili "K" ');
Readln(a);
end;
If (a='O') or (a='o') then
with odejda1 do begin
razmeru;
info;
end;
If (a='P') or (a='p') then
with palto1 do begin
razmeru;
info;
end;
If (a='I') or (a='i') then
with pidjak1 do begin
razmeru;
info;
end;
If (a='K') or (a='k') then
with kurtka1 do begin
razmeru;
info;
end;
end;
var
odejda1:odejda;
begin
with odejda1 do begin
vvod;
end;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.12.2010, 00:29
Ответы с готовыми решениями:

Разработка программ с использованием объектов, принципов наследования и полиморфизма
Описать объект «Кинотеатр» с указанием его методов: название фильма, время сеанса, количество зрителей, стоимость билетов. Реализовать...

Код с использованием Наследования,Инкапсуляции,Полиморфизма
Кому не сложно,напишите код с использованием Наследования,Инкапсуляции,Полиморфизма Самый простой (На Java)

Абстрактные классы. Межклассовый полиморфизм (как ещё одна из форм реализаций полиморфизма)
Создать абстрактный родительский класс, от которого унаследованы следующие дочерние классы, у каждого из которых определен следующий метод:...

2
411 / 330 / 42
Регистрация: 10.03.2010
Сообщений: 3,313
09.12.2010, 09:16
В дочерних классах в описании методов надо писать не virtual, а override- перекрывать методы.И вообще,зачем по 100 раз описывать поля в наследуемых классах?
0
0 / 0 / 0
Регистрация: 19.11.2009
Сообщений: 16
09.12.2010, 20:55  [ТС]
Если писать override - то вылетает ошибка 149 - virtual expected. Может я как-то не так его пишу? О_о Дайте пример пожалуйста. А по поводу полей - хз, у препода так в методичке в примере.

Добавлено через 3 часа 24 минуты
Проблема в том, что я полиморфизм неправильно реализовал. Если процедуры сделать обычными - всё нормально работает. Кто может поправить?

Добавлено через 1 час 48 минут
Вопрос с повестки дня снят, сам разобрался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.12.2010, 20:55
Помогаю со студенческими работами здесь

нужна программа с использованием наследования, инкапсуляции, полиморфизма
СРОчНО!! нужна программа с использованием наследования, инкапсуляции, полиморфизма!! простая небольшая прога! для тупой как я))

Создать приложение с использованием наследования, инкапсуляции и полиморфизма которое позволяет:
1.Создать приложение с использованием наследования, инкапсуляции и полиморфизма которое позволяет: -создавать динамический список...

Классы, с использованием ПЕРЕГРУЗКИ ОПЕРАЦИЙ
Доброго времени суток. Классы, с использованием ПЕРЕГРУЗКИ ОПЕРАЦИЙ.Определить класс с именем NOTE, содержащий поля : 1.Фамилия Имя ...

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

Реализовать классы с использованием внутренних классов
Создать класс Зачетная Книжка с внутренним классом, с помощью объектов которого можно хранить информацию о сессиях, зачетах, экзаменах....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный отбор элементов справочника Номенклатура по группе 1С
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор под наименованию группы (на. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника Сотрудники по перечислениям 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru