virtuelle stream Operatoren?



  • Hallo zusammen,
    1. Ist es prinzipiell möglich Operatoren virtuell zu deklarieren?
    z.B.

    class a {
    public:
     virtual a operator+(const a&);
    };
    

    2. Wie sieht's mit dem istream- / ostream-Operator aus?
    Ich hätte gerne eine abstrakte Basisklasse, die den Ableiter dazu zwingt einen istream/ostream-Operator bereitzustellen.
    Leider kann man die stream-Operatoren ja nicht als Memberfunktionen definieren.
    Gibts totzdem ne Möglichkeit, diese mit irgendeinem Trick virtuell zu machen?

    Im voraus schonmal vielen Dank für die Antworten...
    C14



  • jo!

    ostream& operator<<(ostream& out,Base const& base)
    {
       base.printAt(out);
    }
    

    und dann in Base:

    virtual void printAt(ostream& out) const;
    

Anmelden zum Antworten