How to allocate new class instance on the heap?



According to the documentation I've read, the proper way to dynamically
allocate a new instance of a record TMyRec is:


type TMyRec = record
...
end;
type PMyRec = ^TMyRec;

var
MyRec : PMyRec;
begin
New(MyRec);
// Do stuff with MyRec
Dispose(MyRec);
end;

Should I use the same method for _class_ instances (with constructors
and destructors) as I describe for records above? Or is there another
preferred method?

.