Referenz - OVERLOAD
Syntax: DECLARE { SUB | FUNCTION } Funktionsname OVERLOAD (Parameterliste) [ AS Typ ]
Typ: Klausel
Kategorie: Deklaration
Mit der Klausel OVERLOAD können Sie Prozeduren mit unterschiedlicher Parameterliste, aber gleichem Prozedurnamen deklarieren, ohne die Fehlermeldung "Symbol already defined" zu erhalten. Sobald die Prozedur 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 UDTs 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 QB: neu in FreeBASIC
Siehe auch:
DECLARE, FUNCTION, SUB, Prozeduren
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|