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.


Anmelden zum Antworten