operator<< bei Polymorphie
-
Ich habe ein Problem. Ich bin gerade dabei, eine Klassenhierarchie zu Programmieren. (Oberklasse: Allgemeines Gerät, Unterklassen: Heizung, Radio, Kaffeemaschine) - über die Code-Zeilen
AllgemeinesGerät *allGeraet; Heizung heat; allGeraet = &heat; cout<<*allGeraet;
soll der Zustand über den überladenen Operator ausgegeben werden (also z.B. "Heizung hat die Temperatur 26°C oder so ähnlich) - wie kann ich nun über diesen cout<<*allGeraet - Ausdruck den überladenen Operator von Heizung ansprechen? Bei Methoden kann man dies mit virtual machen, aber bei überladenen Operatoren? Ich hoffe, mir kann jemand helfen.
-
du gibst AllgemeinesGerät noch die virtuelle funktion print(std::basic_ostream<...>&)
jedes gerät muss diese funktion implementieren , und im op<< rufst du diese funktion einfach auf.