Operator Überladung operator<< für vektoren
-
Hi, ich bins wieder.
ich würde gerne wissen, wie vektoren aus einer Vektor-Klasse(selbstgeschrieben)
per << ausgeben lassen kann ... also analog zu:int a = 1; cout << a; //Analog für vector-class vec2D v(1,1); cout << v;Wie kann ich denn das machen?
void operator<< (const &v){ cout << "( " << v.x1 << " | " << v.x2 << " )\n"; }geht auf jeden Fall nicht.
-
std::ostream& operator<< (std::ostream& os, vec2dD const& v);Näheres steht im Einsteigerbuch oder Tutorial deiner Wahl. Oder im Magazin. Oder in jeder halbwegs sinnvollen C++-FAQ für Einsteiger.
-
Hallo erst mal,
ich weiß nicht wie gut du dich mit Operatorüberladung auskennst...
Hier mal ein Link: http://magazin.c-plusplus.net/artikel/%DCberladung%20von%20Operatoren%20in%20CPlusPlus%20%28Teil%201%29
Du musst eben den Ausgabeopearator für deine Klasse überladen, in ihm definierst du eben dann was er machen soll, wenn du den ganzen Vektor ausgeben willst iterierst du ihn eben durch und gibst die einzelnen Elemente aus.Lg freeG
-
Hallo,
Lies dir bitte mal im Magazin den Artikel über Operatorüberladung durch. Speziel Kapitel 3.4
http://www.c-plusplus.net/forum/232010
-
wieder das ding wie beim plus operator
ausserhalb deklarieren und der erste parameter ist ein objekt von der ostream klasse...std::ostream& operator << (std::ostream & str, Vec3D const& v) { str << "(" << v.x << "|" << v.y << ")"; return str; }