summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/tbs/tb0117.pp
blob: 53627e5aece561968a5d86e11fa1be6e9d3b2879 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{ Old file: tbs0137.pp }
{ Cannot assign child object variable to parent objcet type variable OK 0.99.6 }

program OO_Test;

Type TVater = Object
                Constructor Init;
                Procedure Gehen; Virtual;
                Procedure Laufen; Virtual;
              End;

     TSohn = Object(TVater)
               Procedure Gehen; Virtual;
             End;

Var V : TVater;
    S : TSohn;

Constructor TVater.Init;
Begin
End;

Procedure TVater.Gehen;
Begin
  Writeln('langsam gehen');
End;

Procedure TVater.Laufen;
Begin
  Gehen;
  Gehen;
End;

Procedure TSohn.Gehen;
Begin
  Writeln('schnell gehen');
End;

Begin
  V.Init;
  S.Init;
  V.Laufen;
  Writeln;
  S.Laufen;
  Writeln;
  V := S;
  V.Gehen;
End.