ich diese Frage auf archivierte Datei gefunden bei joelonsoftware.com http://discuss.joelonsoftware.com/default.asp?joel.3.594503.11Overloading << zum Manipulatoren definieren
„Hallo,
ich ein besonders langsam Tag habe und kann nicht meinen Kopf . Runde ein Bediener Überlastung Problem würde ich eine Klasse gerne in der Lage sein zu akzeptieren, Daten über einen Einschieben Operator, das heißt:
myClassInstance < < std :: string ("a string") < < 3.4 < < std :: endl;
Intern, ich möchte alles oben in einem string so kann ich dann Farm es zu anderen Strömen (zB std :: cout und ein ofstream) weg zu beenden. Ich habe schrecklich verwirrt bekam, wie ich die ohne tun kann einen Bediener < < Überlastung für jeden Datentyp zu schreiben, und wie ein Eingangsstrom würde auf den ersten Anruf erstellt werden (myClassInstance < < ...) .
Jede dankbar empfängt Hilfe!“
Das ist genau das, was ich zu tun versuchen. Ich habe durch die Definition von Vorlagen und andere überladene Methode Weg zu behandeln alle Arten gefunden mit Manipulatoren wie endl beschäftigen definiert in ostream Klasse.
UIStream& UIStream ::operator << (const T str)
{
CString cstr(stringify(str).c_str());
theFrame->m_pOutputView->WriteMessage(cstr);
return *this;
}
//for manipulators like std::endl
UIStream& UIStream ::operator <<(ostream& (*m)(ostream&))
{
//stream<<*m;
//CString cstr((*m)(new ostream).c_str());
if(*m==&std::endl);
theFrame->m_pOutputView->WriteMessage("\n");
return (*this);
}
bin ich kämpfen immer noch mit Manipulatoren, die Argumente wie hex dez oder Oktober dieses nehmen in ios_base definiert.
Dies wurde bereits in zwei Posts von demselben Benutzer behandelt. Bitte, Kazoom, lies die Antworten! –
Bist du sicher? Ich dachte, die Frage bezog sich auf den Umgang mit Manipulatoren, die Argumente nehmen, etwas, das von den anderen Fragen nicht abgedeckt wird, soweit ich das beurteilen kann. Obwohl ich sage, dass hex, dec und oct keine Manipulatoren sind, die Argumente nehmen ... – Troubadour
Diese Frage wurde bereits zuvor beantwortet (unter anderem in meiner Antwort hier: http://stackoverflow.com/questions/1133739/how- does-of-stream-oder-ostream-type-cast-all-types-to-string/1134501 # 1134501) –