Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2013, 00:53   #1
Otar4ik
Форумчанин
 
Регистрация: 16.04.2010
Сообщений: 123
По умолчанию Классы.Наследие и Полиморфизм.

Для интерфейса использовать модуль Windows.Form. Реализовать три класса (один -
класс родитель, второй и третий классы - дети).
Один из методов базового класса должен быть виртуальным, а в наследниках - он должен быть перегружен. Каждый класс должен иметь не менее двух конструкторов, класс-ребенок обращается к конструктору базового класса.
Классы наследники также должны иметь собственные методы, которые не определены в родители.

2. Средства передвижения, автомобиль, поезд.


Вот код.Просто не получается до конца реализовать 3 класса.

Код:
program lab7_var2;
 
uses FormsABC;
 
   const sp=string[30];    //средство передвижения
   const av=string[30];    //автомобиль
   const pd=string[30];    //поезд
 
type 
Sredper=class     
protected
   tip:integer;
   mark:string;
   name:string;
   year:integer;
   
public
   constructor Create(k,t,nr:integer; m,n,y:string);
   begin
      tip:=t;
      mark:=m;
      name:=n;
      year:=y;
   end;  
   
   procedure setSredper(k,t:integer; m,n,y:string);
   begin
      tip:=t;
      mark:=m;
      name:=n;
      year:=y;
   end;
   
   function Print():string; virtual;  abstract;
   begin
   writeln('Средство передвижения: ',n,'  Вид средства передвижения: ',t);
   end;
      
   function getName():string; 
   begin 
     Result:=name; 
   end;
   function getMark():string;
   begin 
     Result:=mark;
   end;
   function getYear():string; 
   begin 
     Result:=year; 
   end;
   function getTip():integer;
   begin 
     Result:=tip; 
   end;
   
end; 
 
 
Avtomob=class(sredper)    //наследуется от Средства передвижения
protected
sitmest: integer;
long: integer;
rashod: integer;
 
public
constructor Create(sm,l,r,y:integer; m,n,t:string);
   begin
      inherited Create(t,m,n,y);
      sitmest:=sm;
      long:=l;
      rashod:=r;    
   end;  
   
   procedure setAvtomob(sm,l,r:integer);
   begin
      sitmest:=sm;
      long:=l;
      rashod:=r;
      end;
      
      function ToString():string; override;
   begin
      Result:=' Транспортное средство, Автомобиль '  + ' ' + mark + ' ' + 
      name + ' ' + year + ' ' + IntToStr(sitmest)+ ' ' + IntToStr(long) + ' ' + IntToStr(rashod);
   end;    
end; 
  
  
poezd=class(spedper)   //наследуется от Средства передвижения
 
public
constructor Create(t,sm,l,r,y:integer; m,n:string);
   begin
      inherited Create(t,sm,l,r,m,n,y);    
   end;  
 
   function ToString():string; override;
   begin
      Result:=' Транспортное средство,поезд ' +  ' ' + mark + ' ' + name + ' ' + year  + ' ' + IntToStr(sitmest) 
               + ' ' + IntToStr(long) + ' ' + IntToStr(rashod);
   end;
end;
Otar4ik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обьекты, классы, наследие winhttp Общие вопросы Delphi 8 13.08.2012 00:47
Наследие coNsept Общие вопросы .NET 2 05.04.2012 22:36
Классы, наследие,вывод Form_13 Общие вопросы Delphi 1 13.12.2011 07:10
Наследие С++ Денис999 Помощь студентам 1 21.04.2011 11:46
Наследие С++ Денис999 Помощь студентам 2 17.04.2011 22:02