virtual
-
Du hast tatsächlich Recht, dabei war ich mir hier ziemlich sicher, dass das nicht stimmen kann... naja, man lernt wohl nie aus (vor allem nicht bei c++)
-
Also ich hab jetzt mal nachgelesen, man kann operatoren gar nicht virtual machen... jetzt bin ich verwirrt
-
82kolu schrieb:
Also ich hab jetzt mal nachgelesen, man kann operatoren gar nicht virtual machen... jetzt bin ich verwirrt
Dann war das wo du das gelesen hast nicht richtig. Geht wunderbar, probiers aus. Musst aber aufpassen, dass die Operatoren dann auch wirklich die gleiche Signatur haben.
virtual operator==(const Base &rhs);wird beispielsweise nicht durch
virtual operator==(const Derived &rhs);ersetzt.
-
Davon würde ich aber abraten. Ist recht unintuitiv, falls nur ein Operand polymorph behandelt wird. Überhaupt ist es im Allgemeinen sinnvoller,
operator==als globale Funktion zu implementieren.