OVERLOAD

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » O » OVERLOAD

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