123456789101112131415161718 |
- MODULE m;
- TYPE
- Base = RECORD END;
- Derived1 = RECORD(Base) field1: INTEGER END;
- Derived2 = RECORD(Derived1) field2: INTEGER END;
- VAR
- pb: POINTER TO Base;
- pd1: POINTER TO Derived1;
- pd2: POINTER TO Derived2;
- BEGIN
- NEW(pd2);
- pb := pd2;
- pd1 := pd2;
- pb(Derived1).field1 := 0;
- pb(Derived2).field2 := 1;
- pd1(Derived2).field2 := 2
- END m.
|