program Projekt_11;
{$APPTYPE CONSOLE}
uses
  SysUtils;

type
  TStudent = class
    public
      // deklaracja konstruktora
      constructor Create;
      procedure JakiStudent(js: PChar);
    private
      Nazwisko: PChar;
  end;
//---------------------------------------------------------
procedure TStudent.JakiStudent(js: PChar);
  begin
    nazwisko:=js;
    if (Nazwisko = 'Wackowski') then
      Writeln('Bardzo dobry student')
      else
        if (Nazwisko = 'Jankowski') then
          Writeln('Kiepski student')
          else
            Writeln('Brak takiego studenta');
  end;
//---------------------------------------------------------
constructor TStudent.Create;
begin
  // opcjonalnie cialo konstruktora
end;
//---------------------------------------------------------
var
  Student: TStudent;
  KtoryStudent: PChar;
begin
  // tworzenie dynamicznego egzemplarza (obiektu)
  // Student klasy TStudent
  // obiekt Student tworzony jest zawsze z poziomu odwołania
  // do nazwy klasy TStudent
  Student:=TStudent.Create;
  KtoryStudent:='Jankowski';
  Student.JakiStudent(KtoryStudent);
  ReadLN;
  // zwalnianie (niszczenie) obiektu Student
  // poprzez bezpośrednie wywołanie metody Free
  Student.Free;
end.


