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;