Einführung: Wieso sollte man Operatoren überladen?

Diese Frage kann man sich nun eigentlich schon alleine beantworten, wenn man die Argumente des vorherigen Abschnitts zusammenfaßt.
Bei den Standard-Datentypen in C++ stehen uns eine Reihe Operatoren vordefiniert zur Verfügung (+,-,+=,-=,*,/,...).
Es gibt jedoch nur relativ wenige Datentypen, die von der Sprache direkt unterstützt werden. C++ und die objektorientierte Programmierung "lebt" ja gerade davon, eigene Klassen und Methoden zu implementieren. Gäbe es keine Möglichkeit, die Funktionalität der Operatoren auch auf eigene Klassen zu übertrage, wären die Operatoren in diesem Umfang sicherlich nicht erwähnenswert. Um die bequemere Schreibweise auch bei anderen Klassen, die u.U. erst später hinzukommen, nutzen zu können, besteht in C++ die Möglichkeit des Überladens. Man muß dies natürlich nicht in Anspruch nehmen. Es ist allerdings an den Stellen, wo die Verwendung des Operators naheliegend und geläufig ist, zu empfehlen. Einem wichtigen Anwendungsgebiet des Überladens (neben dem "klassischen" Bereich der arithmetischen Operationen für arithmetische Klassen wie etwa Vektoren, Matrizen, ...) werden wir im nachfolgenden Kapitel (Streams), begegnen.
Dort wird der Ausgabeoperator << für eigene Klassen überladen, wodurch man Ausgaberoutinen sehr viel einfacher, schneller und übersichtlicher implementieren kann.