Ich habe eine C++ - Klasse MyObject
und ich möchte in der Lage sein, diese Daten wie ich zu einem Ostream (aber im Gegensatz zu einem direkten Stream, die eingehenden Daten formatiert sein müssen a spezieller Weg). Ich kann nicht herausfinden, wie ich einen Operator für MyObject überlasten kann, um die Eingabe zu essen.Haben Sie eine C++ - Klasse wie eine benutzerdefinierte ostream, Stream
class MyObject {
public:
ostringstream s;
FEEDME
};
int main() {
MyObject obj;
obj.FEEDME << "Hello" << 12345;
// I want obj.s == ":Hello::12345:"
}
Ich mag es so satt jedes Element in von umgeben sein:
So in dem gegebenen Beispiel s = ": Hallo :: 12345" sollte das Endergebnis sein. Was meine Frage ist, wie kann ich dem Objekt sagen, dass wenn immer ein <<something
, setzen:: um das Etwas.
Ist das möglich?
Danke, ich glaube, ich habe Fundament, wie es jetzt umzusetzen, noch einen Fehler immer „Fehler: ungültige Verwendung von Elemente (? Sie den‚&‘vergessen haben)“ für MyObject & operator < <(const T & x) { Aber wird sich damit herumschlagen und gelöst werden. Danke, mein guter Herr. –
Ich denke, dass kompiliert in g ++ 4.3.3, was Compiler verwenden? –
g ++ (GCC) 4.3.2, Sie sind richtig, es kompiliert und funktioniert genau so, wie ich es will! Vielen Dank. Das Problem scheint etwas besonderes für mein Programm zu sein. –