Anonymous user
Polymorphism: Difference between revisions
→[[BASIC]]
Line 30:
DECLARE SUB CircleSetR (pthis AS Circle, r0 AS INTEGER)
DECLARE SUB CirclePrint (pthis AS Circle)
DECLARE SUB PolyPrint (pthis AS ANY, type%)
TYPE Point
Line 39 ⟶ 40:
r AS INTEGER
END TYPE
DIM SHARED POINT%, CIRCLE%
POINT% = 0
CIRCLE% = 1
DIM p AS Point
Line 44 ⟶ 49:
PointInit p
REM No virtual function call possible
PointPrint p
REM Faked virtual function
PolyPrint p, POINT%
PolyPrint c, CIRCLE%
END
SUB PolyPrint (pthis AS ANY, type%)
IF (type% = CIRCLE%) THEN
CirclePrint pthis
ELSE
PointPrint pthis
END IF
END SUB
▲ CircleInit p
▲ CirclePrint p
SUB PointInit0 (pthis AS Point)
|