AlekXL
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору program Project44; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; type TMyBase= object strict protected FData:integer; public constructor Init(); procedure DoSm();virtual; end; TMyDerived= object(TMyBase) public constructor Init(); procedure DoSm();virtual; end; { TMyBase } procedure TMyBase.DoSm; begin writeln(FData); end; constructor TMyBase.Init; begin FData:=1; end; { TMyDerived } procedure TMyDerived.DoSm; begin writeln('This is overrided'); inherited; end; constructor TMyDerived.Init; begin inherited; end; procedure byref(const obj:TMyBase ); begin obj.DoSm(); end; var b:TMyBase; d:TMyDerived; begin try b.Init(); d.Init(); byref(b); byref(d); { TODO -oUser -cConsole Main : Insert code here } except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; end. |