uses crt; type loomaviit=^loom; loom=object constructor Init; procedure jutusta; virtual; end; kassiviit=^kass; kass=object(loom) procedure jutusta; virtual; end; koeraviit=^koer; koer=object(loom) procedure jutusta; virtual; end; hiireviit=^hiir; hiir=object(loom) procedure jutusta; virtual; end; constructor loom.Init; begin end; procedure loom.jutusta; begin textcolor(blue); writeln('xxx'); textcolor(lightgray); end; procedure kass.jutusta; begin writeln('njau'); end; procedure koer.jutusta; begin writeln('uuu'); end; procedure hiir.jutusta; begin sound(1000); readkey; nosound; end; var loomaaed: array[1..4] of loomaviit; i: integer; begin loomaaed[1]:=new(loomaviit, Init); loomaaed[2]:=new(kassiviit, Init); loomaaed[3]:=new(koeraviit, Init); loomaaed[4]:=new(hiireviit, Init); for i:=1 to 4 do loomaaed[i]^.jutusta; end.