Hallo 
Ich hab mal wieder ein Problem:
Da in meinem "C++-Programmierer" gerade das Überladen von Operatoren durchgenommen wird, dachte ich mir, ich programmiere eine kleine Klasse für rationale Zahlen. Hier ein kleiner Codeausschnitt:
Das Überladen des +-Operators funktioniert, aber beim compilieren des <<-Operators erhalte ich die Fehlermeldung
PS: Wenn das etwas helfen sollte: Ich arbeite mit Code::Blocks
Wäre schön wenn jemand eine Antwort für mich hätte
Oh ich habe mich verschrieben
bei rational.cpp das "return" weglassen

Ich hab mal wieder ein Problem:
Da in meinem "C++-Programmierer" gerade das Überladen von Operatoren durchgenommen wird, dachte ich mir, ich programmiere eine kleine Klasse für rationale Zahlen. Hier ein kleiner Codeausschnitt:
Code:
//rational.h
#ifndef RATIONAL_H
#define RATIONAL_H
class rational {
[...]
}
[...]
rational operator+ (rational& r1, rational& r2);
std::ostream& operator<< (std::ostream& os, rational& r);
#endif //RATIONAL_H
Code:
//rational.cpp
#include "rational.h"
rational operator+ (rational& r1, rational& r2) {
[...]
}
std::ostream& operator<< (ostream& os, rational& r) {
return os << r.getzaehler() << " / " << r.getnenner();
}
Das Überladen des +-Operators funktioniert, aber beim compilieren des <<-Operators erhalte ich die Fehlermeldung
Fehler: "ofstream" im Namensbereich "std" bezeichnet keinen Typ

PS: Wenn das etwas helfen sollte: Ich arbeite mit Code::Blocks
Wäre schön wenn jemand eine Antwort für mich hätte

Oh ich habe mich verschrieben

bei rational.cpp das "return" weglassen
