summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/tbs/tb0100.pp
blob: fd4e6759a2bee089eb187247b5cdb0315010bf8e (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
{ Old file: tbs0119.pp }
{ problem with methods                                  OK 0.99.6 (FK) }

program ObjTest;

   type
     ObjectA = object
       procedure Greetings;
       procedure DoIt;
     end;
     ObjectB = object (ObjectA)
       procedure Greetings;
       procedure DoIt;
     end;

   procedure ObjectA.Greetings;
   begin
     writeln('  A');
   end;
   procedure ObjectA.DoIt;
   begin
     writeln('A ');
     Greetings;
   end;

   procedure ObjectB.Greetings;
   begin
     writeln('  B');
   end;
   procedure ObjectB.DoIt;
   begin
     writeln('B');
     Greetings;
   end;

   var
     A: ObjectA;
     B: ObjectB;

   begin
     A.DoIt;
     B.DoIt;
     writeln; writeln('Now doing it directly:');
     A.Greetings;
     B.Greetings;
   end.