
C++-Core-Guidelines – Folge 63
Um es vorwegzunehmen: Dieser Artikel hat keinen besonders ausgeprägten Bezug zu den beiden Regeln T.64 „Use specialization to provide alternative implementations of class templates“ und T.67: „Use specialization to provide alternative implementations for irregular types“ der Core Guidelines. Er behandelt stattdessen beide Regeln in einem deutlich breiteren Kontext.
Das Problem
Fangen wir ganz einfach an. Die Klasse Account in Listing 1 besitzt einen Kontostand balance. Er soll für zwei Accounts festlegen, auf welchem Konto sich weniger Geld befindet.
Zwei Datentypen zu vergleichen ist eine generische Idee. bringt das deutlich auf den Punkt. Das Überladen des <-Operators stellt wohl den offensichtlichsten Weg zur Lösung des Problems dar.