Syntax:
DECLARE FUNCTION Funktionsname OVERLOAD (Parameterliste) AS Typ
DECLARE SUB Funktionsname OVERLOAD (Parameterliste)
Typ: Klausel
Kategorie: Programmorganisation
Mit der OVERLOAD-Klausel können Sie Prozeduren mit unterschiedlicher Parameterliste aber gleichem Prozedurnamen deklarieren, ohne die Fehlermeldung "Symbol already defined" zu erhalten. Sobald das Symbol zum ersten Mal deklariert wird, muss OVERLOAD angegeben werden; die folgenden Deklarationen müssen die OVERLOAD-Klausel nicht tragen, auch wenn es keinen Fehler ausgibt, wenn sie angegeben wird.
Funktionen, die in UDTs deklariert sind, müssen die OVERLOAD-Klausel nicht erhalten, da innerhalb des TYPEs standardmäßig alle Funktionen überladen sind.
Eine überladene Funktion muss sich durch mindestens einen Übergabeparameter von den anderen unterscheiden.
Beispiel:
DECLARE FUNCTION SUM OVERLOAD (a AS INTEGER, b AS INTEGER) AS INTEGER
DECLARE FUNCTION SUM (a AS SINGLE, b AS SINGLE) AS SINGLE
FUNCTION SUM (a AS INTEGER, b AS INTEGER) AS INTEGER
FUNCTION = a + b
END FUNCTION
FUNCTION SUM (a AS SINGLE, b AS SINGLE) AS SINGLE
FUNCTION = a + b
END FUNCTION
DIM AS INTEGER a , b
DIM AS SINGLE a1, b1
a = 2
b = 3
a1 = 2.0
b1 = 3.0
PRINT SUM (a , b )
PRINT SUM (a1, b1)
SLEEP
Unterschiede zu QuickBASIC: Neu in FreeBASIC.
Siehe auch:
DECLARE, FUNCTION, SUB, Prozeduren