überladen von Operatoren
-
hallo, ich versuche gerade den '<<' operator zu überladen, aber irgendwie funzt es nicht so richtig hier der quellcode:
main.cpp:
#include <iostream.h> #include <stdio.h> #include"obj.h" int main() { obj ob; ob.tv(); getchar(); }
ojb.h:
#ifndef obj_h #define obj_h obj_h #include<iostream> class obj { public: void tv() { tankvolumen = 2000;} friend ostream & operator << (ostream & out, obj &x); private: int tankvolumen; }; #endif
obj.cpp:
#include "obj.h" #include<iostream> ostream & operator << (ostream &out, obj &x) { out << "Tankvolumen: " << x.tankvolumen; return out; }
Wenn ich das Programm ausführe, erhalte ich keine Ausgabe... normalerweise müsste es ja "Tankvolumen: 2000" ausgeben.
Woran könnte das liegen?Danke, Mathias
-
Wenn du die main noch cout << ob << endl; schreibst, tut es das vielleicht
-
ups, das hab ich wohl vergessen
danke