Breymann. C++ Einführung und professionelle Programmierung

Breymann. C++ Einführung und professionelle Programmierung Breymann. C++ Einführung und professionelle Programmierung

vred.bioinf.uni.sb.de
von vred.bioinf.uni.sb.de Mehr von diesem Publisher
17.11.2014 Aufrufe

5.3.4 Typumwandlungskonstruktor Typumwandlungskonstruktor = Spezialfall des allgemeinen Konstruktors. Beispiel: Wandlung von Zeichenketten in Ortsangaben #include #include class Ort { public: // Typumwandlungskonstruktor. Format: 2 Folgen von Ziffern Ort(const string& str) { unsigned int pos = 0; // Zifferposition for(int j = 0; j < 2; ++j) { // jede Koordinate while(pos < str.size()) { } if(isdigit(str.at(pos))) // Ziffer? break; else ++pos; // erste Ziffer suchen assert(pos < str.size()); // Ziffer gefunden? Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 168 zurück Ende

Zahl bilden int Koordinate = 0; while(pos < str.size() && isdigit(str.at(pos))) { Koordinate = 10*Koordinate+str.at(pos)-’0’; ++pos; } switch(j) { case 0: xKoordinate = Koordinate; break; case 1: yKoordinate = Koordinate; } } } // ... Rest wie vorher Anwendung: Ort nochEinOrt(string("21 99")); // mögliches Format anzeigen(nochEinOrt); cout

Zahl bilden<br />

int Koordinate = 0;<br />

while(pos < str.size() && isdigit(str.at(pos))) {<br />

Koordinate = 10*Koordinate+str.at(pos)-’0’;<br />

++pos;<br />

}<br />

switch(j) {<br />

case 0: xKoordinate = Koordinate; break;<br />

case 1: yKoordinate = Koordinate;<br />

}<br />

}<br />

}<br />

// ... Rest wie vorher<br />

Anwendung:<br />

Ort nochEinOrt(string("21 99")); // mögliches Format<br />

anzeigen(nochEinOrt);<br />

cout

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!