Beim Schreiben einer Nicht-Element-Funktion, um einen Operator zu überlasten, entspricht der 1. Parameter dem linken Operanden und der 2. Parameter dem rechten Operanden?Operatoren überladen: Entspricht der 1. Parameter dem linken und der 2. dem rechten Operanden?
Ich habe versucht, die „< <“ Betreiber zu überlasten es wie folgt zu verwenden:
stream << ClassA << ClassB
Im Folgenden ist ein Beispiel, wo FeetInches
ist eine Klasse mit Membervariablen feet
und inches
.
ist, warum dieser Parameter arbeitet, um:
ostream &operator<<(ostream &strm, const FeetInches &obj)
{
strm << obj.feet << " feet, " << obj.inches << " inches";
return strm;
}
-
aber dieser Parameter, um nicht funktioniert?
ostream &operator<<(const FeetInches &obj, ostream &strm)
{
strm << obj.feet << " feet, " << obj.inches << " inches";
return strm;
}