Die Operatoren << und >>
- 
					
					
					
					
 Hi! Ich hab mal ne eher theoretische Frage... in C/C++ gibt es ja Funktionen wie cin und cout. Diese funktionieren etwa so: cin >> char[] a; cout << "Hello World";Wär möglich, dass ich die Operatoren vertauscht hab... ist ja auch eigentlich egal. Auch mit den C-Strings komm ich nicht ganz so klar, hoffe das ist auch richtig. Bei cout << "Hello World" wird ja scheinbar der String "Hello World" an eine Funktion (?) cout übergeben (bzw. cout liest den Wert über den Operator ein). Jetzt ist meine Frage: Wie funktioniert das? Irgendwie muss ja in der Funktion cout festgelegt werden, dass diese mit dem darauffolgenden <<-Operator einen String einlesen kann. Wie wird also in der Funktion cout beispielsweise gesagt, dass danach ein <<-Operator kommt, nach dem ein Wert kommt? Mit anderen Worten: Wie funktioniert <<? Mfg 
 CalvinPS: Ich hoffe ihr habt mich verstanden... "Gewisse Personen" nämlich nicht. 
 
- 
					
					
					
					
 Schau dir erstmal was zum Thema Operatorüberladung an oder such im Forum danach. Wurde schon öfters besprochen. 
 
- 
					
					
					
					
 #include <iostream> using namespace std; class Gruesser { public: Gruesser(const char *s) : m_s(s) {} const char *wen() const {return m_s;} private: const char *m_s; }; //<< Operator für die Klasse Gruesser ostream &operator<<(ostream &out, const Gruesser &g) { return out << "Hallo " << g.wen(); } int main() { Gruesser g("Malo"); cout << g << endl; cin.get(); }
 
- 
					
					
					
					
 Danke, besonders für das Beispiel  Das letzte Mal, dass ich mich mit Operatoren auseinandergesetzt hab, war, als ich mich in C# eingelesen hab... Unter Pascal gibts imho keine Operatorüberladungen.  
 
- 
					
					
					
					
 Malo: schau mal im C++-Buch deiner Wahl nach dem Kapitel "Streams" oder "Ein- und Asugabe" 
 Dort wirst du finden, dass cout und Konsorten Objekte sind und nicht Funktionen.