русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Гомель, 2010


Дата добавления: 2015-07-09; просмотров: 591; Нарушение авторских прав



Цель работы: научиться разрабатывать программы с использованием динамических объектов

Ход работы:

Задание 1. Наберите и проанализируйте программу. Определите в данной программе все динамические объекты и методы применяемые к этим объектам. Объясните результаты выполнения программы.

program polivir;

uses Crt;

const

LENLIST=10; { длина списка }

type

 

TPerson = object

FName: string[30]; { имя }

FAddress: string[40]; { адрес }

constructor init(Name,Address:string);{ конструктор объекта }

destructor Done; virtual;{ деструктор объекта }

procedure print; virtual;

end;

 

TStudent = object(TPerson)

FGroup: integer; { учебная группа }

constructor init(Name,Address:string;Group:integer);

destructor Done; virtual;

procedure print; virtual;

end;

 

TProf = object(TPerson)

FKafedra: string[30]; { кафедра }

constructor init(Name,Address,Kafedra:string);

destructor Done; virtual;

procedure print; virtual;

end;

 

PStudent=^TStudent;

PProf=^TProf;

 

constructor TPerson.init(Name,Address:string);

begin

FName:=Name;

FAddress:=Address;

end;

 

destructor TPerson.Done;

begin

end;

 

procedure TPerson.print;

begin

writeln(FName);

writeln(FAddress);

end;

 

constructor TStudent.init(Name,Address:string;Group:integer);

begin

TPerson.init(Name,Address);

FGroup:=Group;

end;

 

destructor TStudent.Done;

begin

inherited Done; { вызов деструктора родительского типа }

end;

 

procedure TStudent.print;

begin

TPerson.print;

writeln('úα. ',FGroup);

end;

 

constructor TProf.init(Name,Address,Kafedra:string);

begin

TPerson.init(Name,Address);

FKafedra:=Kafedra;

end;

 

destructor TProf.Done;



begin

inherited Done;

end;

 

procedure TProf.print;

begin

TPerson.print;

writeln('K. ',FKafedra);

end;

 

var

list: array[1..LENLIST] of ^TPerson;

i:integer;

 

begin

{ инициализация списка }

for i:=1 to LENLIST do

list[1]:=NIL;

 

{ создать три объекта и поместить в список }

list[1]:=new(PStudent,init('Михаил Иванов','Лесной пр, д.29, корп.6ф, комн.211',3813));

list[2]:=new(PStudent,init('Цветков Станислав','пр. К.Маркса, д.32, кв.3',3813));

list[3]:=new(PProf,init('Некрасов Степан Петрович','Институтский пр., д.7, кв.13','Управление проектами'));

 

{ вывести объекты – элементы списка }

for i:=1 to LENLIST do

if list[i] <> NIL

then list[i]^.print;

 

{ уничтожить объекты }

for i:=1 to LENLIST do

if list[i] <> NIL

then

begin

Dispose(list[i],Done);

list[i]:=NIL;

end;

 

Readln;

 

end.




<== предыдущая лекция | следующая лекция ==>
Гомель, 2012 | Гомель, 2012


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.223 сек.