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

> Fpc, методы класса
klem4
сообщение 12.10.2006 14:46
Сообщение #1


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Почему я не могу напрямую вызвать метод класса ? ClassName.MethodName ? Просто интересно.

{$N+}
{$mode objfpc}

unit Polinom;

interface

type

  TFloat = Double;

  TCoeff = TFloat;

  TCoeffs = array of TCoeff;

  TPolinom = class

    public

      constructor Create(const n: Word);

      destructor Destroy;

      procedure ReadCoeffs;

      procedure PrintCoeffs(const c: TCoeffs);

      function GetDerivative(const c: TCoeffs): TCoeffs;

      function GetCoeffs: TCoeffs;

      property C: TCoeffs read GetCoeffs;

    private

      coeffs: TCoeffs;

  end;

implementation

constructor TPolinom.Create(const n: Word);
begin
  SetLength(coeffs, n + 1);
end;

destructor TPolinom.Destroy();
begin
  SetLength(coeffs, 0);
end;

function TPolinom.GetCoeffs: TCoeffs;
begin
  result := coeffs;
end;

procedure TPolinom.ReadCoeffs;
var
  i: Integer;
begin
  for i := 0 to Length(coeffs) - 1 do begin
    write('x^', i, ' * ');
    readln(coeffs[i]);
  end;
end;

function TPolinom.GetDerivative(const c: TCoeffs): TCoeffs;
var
  i: Integer;
begin
  SetLength(result, Length(c) - 1);
  for i := Length(c) - 1 downto 1 do
   result [i - 1] := c[i] * i;
end;

procedure TPolinom.PrintCoeffs(const c: TCoeffs);
var
  i: Integer;
begin
  for i := 0 to Length(c) - 1 do
   writeln('c[', i, ']=', c[i]:2:1);
end;

begin
end.


uses Crt, Polinom;

var

  P: TPolinom;

  degree: Integer;

  test: TCoeffs;

begin
  clrscr;


  write('Введите степень полинома : '); readln(degree);

  P := TPolinom.Create(degree);

  P.ReadCoeffs;

  test := P.C;

  TPolinom.PrintCoeffs(test); // <---------------- Вот так нельзя делать ?!

  P.Destroy;

  readln;
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
klem4   Fpc, методы класса   12.10.2006 14:46
volvo   А что, собственно, тебя смущает? Ты данные какого ...   12.10.2006 15:09
klem4   Нет, я хочу вызвать именно метод класса, а не его ...   12.10.2006 15:16
klem4   Вот такое в FPC наверняка ведь можно сделать ? us...   12.10.2006 15:45
volvo   Ты про это: TPolinom = class public cons...   12.10.2006 15:55
klem4   Ага :yes2: а что это значит ?)))   12.10.2006 15:57
volvo   6.3.3 Class methods Class methods are methods that...   12.10.2006 16:05
klem4   Все время забываю про этот мануал :) Класс :) С...   12.10.2006 16:13
Altair   А в чем смысл вызова метода класса ? Ведь класс яв...   15.10.2006 13:47
klem4   Вот ты не прав. Зачем - то же умные люди дали нам ...   15.10.2006 15:55
volvo   Олег, тривиальная задача: посчитать, сколько экзем...   15.10.2006 16:09
Altair   Вообще-то индивидульность объекта - одно из фунд...   15.10.2006 22:03
volvo   То, что выделено красным - несовместимо... Поним...   15.10.2006 23:42
klem4   А можно на fpc написать именно аналог кода приведе...   30.01.2007 15:00
volvo   Именно поэтому приходится работать не с полями кла...   30.01.2007 16:18
volvo   Хотя, естественно, обмануть компилятор можно: {...   30.01.2007 17:01
klem4   Здорово :) :good:   30.01.2007 17:52


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

 

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