Указывает, что имя процедуры может быть перегружено
Синтаксис
Описание
В описаниях процедур, Overload позволяет именам процедур
быть перегруженными, то есть, другие процедуры могут быть объявлены с тем же
именем, если их списки параметров являются уникальными. Два списка
параметров являются уникальными, если они содержат различное число
параметров, или имеют параметры различных типов. Обратите внимание, что это
означает, что две или более процедуры не могут быть объявлены с тем же
именем, если они отличаются только возвращаемым типом.
После того, как имя процедуры был объявлено как перегруженное, дальнейшие
заявления, использующие имя, не нуждаются в обязательном указании Overload,
но допускается.
Overload не является обязательным в описаниях
процедур-элементов, так как они всегда явно перегружены.
При вызове перегруженной процедуры, компилятор определяет наиболее
подходящее определение для использования, среди набора совместимых
кандидатов, сравнивая типы аргументов, используемые для вызова процедуры с
типами параметров, указанных в определениях. Если совпадение не найдено или
найдено неоднозначное совпадение, компилятор генерирует ошибку во время
компиляции.
Пример
Declare Function SUM Overload (A As Integer,B As Integer) As Integer
Declare Function SUM Overload (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.
b1=3.
Print SUM(A,B)
Print SUM (A1,B1)
Sleep
Отличия от QB
См. также