Zahl Mit N komma stellen darstellen Nur Wie ?????
-
hehe genau das meinte ich....
sorry das ich mich scho wieder dumm ausgedrückt hab... guck mir das m. der operatorüberladung mal an.... vlt find ich ja was *g*
Mfg Baltur
-
hmm.... oki... wieder mal zu blöde....
also es gibt ja echt viele beispiele aber ich peil sie net....
könnte mir hier einer vlt eins m. erklährung geben ? währe voll nett...Mfg Baltur !!!
-
-
hehe glaubst dus ? (warscheinlich ja)....
ich bin echt zu blöde....trozdem scho mal danke für die viele hilfe...wie geht das denn z.B wenn ich den oberato + mit folgender funktion überladen will?
int test(int a , int b) { return a*b; }und wie geht das z.B wenn ich den operator PLUS nennen möchte ?
meinst du könntest mir n beispiel bauen ? was genau auf meine situation passt ? ich denke dann sollte ich es hflt auch verstehen *g*
Mfg Baltu ...
-
re
int test(int a , int b) { return a*b; } // wird folgend angewandt int result = test(12, 24);einen operator PLUS kannst du so nicht definieren das du folgendes machen koenntest:
int a, b; int result = a PLUS b; // geht net !du kannst dir fuer deine klasse einen operator+ ueberladen
class myClass { int value; public: myClass operator+(const myClass &mc) { return myClass(value + mc.value); } }; // kannst jetzt folgendes machen myClass a,b,c; c = a + b;Meep Meep
-
hehe gez bin ich voll verwirrt.....
macht nix... ich werd mal n paar tage darüber nachdenken u. wenn ichs gepeilt hab meld ich mich wieder....
-
Hallo
Die Operator-Überladung ist sinnvoll, bei eigenen Klassen. Bei std::string hingegen ist bereits ein Plus-OP definiert, da kannst du keinen anderen mehr definieren.
Du kannst aber eine eigene Klasse bauen, und in dieser std::string kapseln. Dann kannnst du auch Problemlos wie gezeigt den Op (und andere) für genau deine Klasse überladen.
bis bald
akari
-
hehe schon wieder ne echt bescheidene frage....
also das m. der operatorüberladung schiebe ich noch n mom nach hinten... damit muss ich mich aber auch noch beschäftigen.... mein prob sind warscheinlich (klassen ?)-k.p was das genau ist... also n namespace habsch ja schon kapiert.... egahl.... thema wechsel... volgendes problem hatt sich aufgetan...
using namespace std; int i; string hallo; for (i=0;i<5;i++) { hallo[i]=1;//jezt sollte ja jede stelle (von 0 - 4) eine 1 beinhalten.... } cout << hallo << endl;also mit ner schleife lässt sich der string hallo darstellen... warum geht das nicht mit cout ??? liegt bestimmt wie bei arreys an der \0 m. der man den string abschließen muss oder ? was kann ich tun ?????
noch ein problem:
//************ funktioniert ************ using namespace std; int laenge,i; string str1 = "1234"; string str2; laenge = str1.size(); //************ funktioniert nicht !!!!!!!! ************ for(i=0;i<laenge;i++) { str2[i]=1; // str1 solte so groß wie str2 sein und m. einsern gefüllt.... } laenge = str2.size();hab das zwar m. normalen arrays lösen können aber wie mache ich das denn so ? u. wo issn der unterschied zw. char array u. string ????
Mfg Baltur
-
kennt jemand nen gutes toturial was die iostream erklährt inc derer funktionen ?
am besten noch auf deutsch??? *GGG* würd mich wirklich freuen....mfg Baltur
-
Mit dieser Zeile:
hallo[i]=1;hast du dir deinen String bereits zerschossen und alles was danach kommt ist undefiniertes verhalten (und da sollte wohl 'l' statt l stehen, aber das ist ein anderes Thema). Du kannst mit [] nicht auf Teile des Strings zugreifen, die nicht existieren.
wo issn der unterschied zw. char array u. stringchar array ist ein Relikt aus C-Zeiten. Das benutzt man in C++ (von sehr wenigen Ausnahmen abgesehen) nicht mehr für Strings. std::string ist der Typ, den man stattdessen benutzt.
-
hehe was heist das jezt im klartext ? den string erst innen char umwandeln bevor es geht oder wie oder was ? k.p... was mir das genau sagen soll *g*
wie kann ich denn eigendlich einzelnde stellen des strings verändern wenn net m.:
bspstring[i]=1; //<--- ite stelle als 1 ??? wie ???mfg baltur
-
Nein! Um es noch mal klar zu formulieren: Du benutzt in C++ keine char-Arrays um mit Strings zu handhaben.
Einzelne Zeichen kann man zum Beispiel so an einen String anhängen:
hallo += '1';
Zu deinem Edit: Einzelne Stellen eines Strings verändern kannst du genauso, wie du es geschrieben hast. Aber dazu müssen diese Stellen erst mal da sein. Bei einem String der Länge 0 kannst du die erste Stelle (mit dem Index 0) naturgemäß nicht verändern, weil sie nicht existiert.
-
aber ? wie kann ich rausfinden welche stelle des strings welche ziffer besitzt ????
-
Zuviel Editiererei

Auslesen geht genauso wie Schreiben.
-
hö ??? wie meinen ???? was mache ich denn wenn ich z.b 2 strings habe, die gleich lang sind und von diesen beiden jede einzelnde ziffer addieren will und die ergebnisse jeweils einer integer variable zuordnen will ???
bitte mal n beispiel... m. chars weis ich wies geht... m. den strings hatts auch immer geklappt, aber der string war scheinbar wirklich danach zerschossen... hmmm... irgendwass muss man doch machen können *verzweifel*
-
Ziiffer addieren? Du meinst, du willst zwei gleichlange Strings nehmen, die ausschließlich Ziffern enthalten, diese Ziffern als Zahlen interpretieren und für jede Stelle die Summe dieser beiden Zahlen ausgeben? Sorry, habe jetzt nicht den gesamten Thread verfolgt (ist ein Bißchen länglich).
Unter der Annahme, daß ich deine Anforderungen richtig verstanden habe, ginge das zum Beispiel so:
for (int i=0; i<String1.size(); ++i) { std::cout << static_cast<int> ((String1[i]-'0') + (String2[i]-'0')); }(die Zahlen werden hier ausgegeben und nicht einer Variable zugewiesen, aber das Prinzip sollte klar sein).
-
hehe herzlichen dank das sieht schon mal sehr brauchbar aus... maln bissl dran rummbauen *g*
dazu noch ne frage... was bedeutet static cast int ????
Mfg Baltur
-
hmmm.... irgendwie keine chance.... ich glaub ich binn echt zu doof.....
aber noch ne frage *g* dann wieder bei den chars.... gibt es ne möglichkeit die i´te stelle eines char arrays in integer umzuwandeln ? wenn ja wie ?mfg baltur
-
also jezt meine allerlezte frage zum thema strings.....
irgendwie muss es doch möglich sein die länge eines strings vorzudefinieren und zeichen die an ner bestimmten stelle stehen zu verändern....
oder geht das jezt wirklich nur bei arrays ? *verzweifel*
habs gefunden m. insert.... aber durch anhängen geht ja auch wenn man das brett vom kopf nimmt *g* Danke für die viele viele Hilfe !!!!!
Mfg Baltur
-
Baltur schrieb:
aber noch ne frage *g* dann wieder bei den chars.... gibt es ne möglichkeit die i´te stelle eines char arrays in integer umzuwandeln ? wenn ja wie ?
int i = c - '0';Baltur schrieb:
also jezt meine allerlezte frage zum thema strings.....
irgendwie muss es doch möglich sein die länge eines strings vorzudefinieren und zeichen die an ner bestimmten stelle stehen zu verändern....
Mit resize() legst du die Größe fest - auf die einzelnen Zeichen kannst du dann über den Index-Operator [] zugreifen.