Benutzerdefinierte Typumwandlung: Konstruktoren (3/3)

So steht zum Beispiel (a, b seien dabei Objekte der Klasse complex)

  a = b * 2;

für den Ausdruck

  a = operator*(b, complex( double(2), double(0) ) );

 

Bemerkung:
Häufig bietet es sich aus Effizienzgründen jedoch an, spezielle Operatoren für bestimmte Parameter-Typen doch zusätzlich zu überladen. Insbesondere dann, wenn es sich bei den Klassenobjekten um große Objekte handelt, da durch Verwendung des Konstruktors mehrere temporäre Objekte angelegt werden. Dies ist bei großen Objekten ein sicherlich nicht zu vernachlässigender Laufzeitnachteil.