{$mode objfpc}
type
TA = class
constructor Create;
procedure P; virtual;
end;
TB = class(TA)
constructor Create;
procedure P; override;
end;
constructor TA.Create;
begin end;
procedure TA.P;
begin writeln('TA') end;
constructor TB.Create;
begin Inherited Create end;
procedure TB.P;
begin writeln('TB') end;
var
A : ^TA;
begin
GetMem(A, sizeof(TA));
A^ := TB.Create;
A^.P;
end.
{$mode TP}
type
TA = object
constructor Create;
procedure P; virtual;
end;
TB = object(TA)
constructor Create;
procedure P; virtual;
end;
constructor TA.Create;
begin end;
procedure TA.P;
begin writeln('TA') end;
constructor TB.Create;
begin Inherited Create end;
procedure TB.P;
begin writeln('TB') end;
var
A : ^TA;
begin
GetMem(A, sizeof(TA));
A^.Create;
TB(A^).P;
end.
Добавлено:
Вопрос решен

TB(A^).Create;