Spezielle Operatoren: Subskriptions-Operator (2/2)

Damit kann -- eine entsprechende Implementierung der Operator-Funktion vorausgesetzt -- "wie gewohnt" auf Elemente der Menge zugegriffen werden:

  void f (MengeVonMatrizen alleMatrizen)
  {
      Matrix A;
      ...
      // drittes Element aus Menge "alleMatrizen" an A zuweisen;
      A = alleMatrizen[2];
      ...
  };

Der Typ des übergebenen Parameters ist frei definierbar, d.h. der Index kann einen beliebigen Typ besitzen. Durch die Anwendung des Überladens kann der Operator für verschiedene Index-Typen unterschiedlich implementiert werden. Auf diese Weise können sogenannte assoziierte Arrays oder Dictionaries implementiert werden.
Bei obigem Matrizenbeispiel macht dies sicherlich auf den ersten Blick wenig Sinn, bei einer Menge von Personen könnte man jedoch mit einem String als Parameter auf ein bestimmtes Element zugreifen, etwa auf eine Person mit einem bestimmten Vornamen.