Ada erlaubt auch, daß Funktionen deklariert werden, deren Bezeichner mit einem Operator übereinstimmt, z.B.:
function "
"
(left, right: Vektor)
Unter der Annahme, daß A, B und C Variablen vom selben (constrained) Typ Vektor sind, sind die folgenden Verwendungen gleichbedeutend:
A := "
"
(left =
A := "
"
(B, C);
A := B + C;
Der Gleichheitsoperator = kann für limitierte Typen explizit deklariert werden, sofern die beiden Parameter vom selben limitierten Typ sind und der Rückgabewert den Typ boolean hat. Dadurch wird implizit auch der Operator /= neu definiert, nämlich als not =. Explizites Überladen von /= ist verboten.