Typumwandlungskonstruktor
-
Hallo allerseits,
ich soll mit einem Typumwandlungskonstruktor einen String zerlegen und zwei Zahlen auslesen.Der Aufruf erfolgt über
CRational bruch(" 100 20 ");
CRational bruch(" 100/20 ");
CRational bruch("100/20 ");und soll dann von einer Funktion verarbeitet werden:
CRational::CRational(const string& einstring)
{
// Hier fehlt mir der Code
cout << "Typumwandlungskonstruktor aufgerufen" << endl;
}Problem: Ich weiß nicht, wie mein Typumwandlungskonstruktor so aussehen muss. Theoretisch mus ich den String mit einer Schleife bis zum Ende durchlaufen und nach Abständen und Bruchstrich suchen. Aber wie muss der Code da aussehen?
-
Um die Trennzeichen in deinem Eingabestring zu suchen, empfehlen sich die Methoden find() und find_first_of() der string-Klasse, an der entsprechenden Stelle kannst du dann mit substr() die einzelnen Teile rausschneiden und in Zahlen umwandeln (wie du DAS macht, verrät dir die C++ FAQ "Einmal String nach Zahl und zurück").
PS: Das C++ Board ist etwas weiter unten

-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Danke fürs Verschieben.
Ich hab mir http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.html mal angesehen. Aber da geht es um "einfache Umwandlung". Aber wo finde ich Infos zur Trennung?
-
Wie ich schon sagte: die find()-Methode(n) und substr() von string sollten dir eigentlich dabei helfen. (eine ausführlichere Erklärung zur String-Klasse findest du z.B. in meinem Magazin-Artikel)
-
Works
Danke.