Werte aus benutzerdefinierten Klassen ausgeben: Verwenden von Operator<< Überladung
Beim Umgang mit benutzerdefinierten C-Klassen kann die direkte Ausgabe ihrer Werte an die Konsole eine Herausforderung darstellen. Um dieses Problem zu lösen, können wir den Operator<< Überladung, um die gewünschten Ausgabeformate zu erreichen.
Stellen Sie sich eine benutzerdefinierte Klasse mit dem Namen „myclass“ vor. Wenn Sie versuchen, eine Instanz dieser Klasse mit cout << x zeigt die Konsole möglicherweise eine bedeutungslose Adresse oder einen bedeutungslosen Standardwert an. Um die Ausgabe anzupassen, können Sie den Operator << überladen. für Ihre Klasse.
Hier ist ein Beispiel:
struct myclass { int i; }; std::ostream &operator<<(std::ostream &os, myclass const &m) { return os << m.i; } int main() { myclass x(10); std::cout << x; return 0; }
In diesem Beispiel ist der überladene Operator<< ist für den Typ myclass definiert. Wenn cout mit einem myclass-Objekt aufgerufen wird (wie in cout << x), ruft es den überladenen Operator << auf. Funktion, die wiederum einen Ostream mit der gewünschten Ausgabe zurückgibt. In diesem Fall extrahiert es den ganzzahligen Wert i aus dem myclass-Objekt und gibt ihn an die Konsole aus.
Dadurch können Sie Werte aus benutzerdefinierten Klassen auf sinnvolle Weise ausgeben, z. B. Ganzzahlen oder Gleitkommawerte. auch wenn die Klasse selbst eine solche Ausgabe nicht direkt unterstützt.
Das obige ist der detaillierte Inhalt vonWie kann ich Werte aus benutzerdefinierten C-Klassen mithilfe der Operatorüberladung ausgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!