Wieso funktioniert die Klasse string so einfach?
-
Moin Leute,
ich habe eine Frage zur Funktion der Klasse "string". Und zwar wundere ich mich darüber wie unproblematisch diese Klasse einen String ausgeben kann (Ja, wirklich!). Ich würde dieses Verhalten gerne nachbauen.
Zur Veranschaulichung...
string * myString = new string("bla"); cout << myString.length() << endl; // ok, kann ich nachbauen cout << myString << endl; // kann ich nicht nachbauen; wie geht das?Und jetzt mein eigenes Objekt...
someObject * myObject = new someObject("blub"); cout << myObject.someMethod() << endl; cout << myObject << endl; // hier soll ein String ausgegeben werden
-
Ja, du mußt den <<-Operator überladen.
std::ostream& operator<<(std::ostream& out, const someObject& object) { out << someObject.someMethod(); return out; }
-
ahh, hätt' ich mir denken können
danke
-
goran schrieb:
...
string * myString = new string("bla"); ... someObject * myObject = new someObject("blub"); ...=>
string myString("bla"); ... someObject myObject("blub"); ...Gruß,
Simon2.