Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
33
Task/Polymorphic-copy/Delphi/polymorphic-copy-1.delphi
Normal file
33
Task/Polymorphic-copy/Delphi/polymorphic-copy-1.delphi
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
program PolymorphicCopy;
|
||||
|
||||
type
|
||||
T = class
|
||||
function Name:String; virtual;
|
||||
function Clone:T; virtual;
|
||||
end;
|
||||
|
||||
S = class(T)
|
||||
function Name:String; override;
|
||||
function Clone:T; override;
|
||||
end;
|
||||
|
||||
function T.Name :String; begin Exit('T') end;
|
||||
function T.Clone:T; begin Exit(T.Create)end;
|
||||
|
||||
function S.Name :String; begin Exit('S') end;
|
||||
function S.Clone:T; begin Exit(S.Create)end;
|
||||
|
||||
procedure Main;
|
||||
var
|
||||
Original, Clone :T;
|
||||
begin
|
||||
Original := S.Create;
|
||||
Clone := Original.Clone;
|
||||
|
||||
WriteLn(Original.Name);
|
||||
WriteLn(Clone.Name);
|
||||
end;
|
||||
|
||||
begin
|
||||
Main;
|
||||
end.
|
||||
2
Task/Polymorphic-copy/Delphi/polymorphic-copy-2.delphi
Normal file
2
Task/Polymorphic-copy/Delphi/polymorphic-copy-2.delphi
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
S
|
||||
S
|
||||
Loading…
Add table
Add a link
Reference in a new issue