cloidnerux hat geschrieben:Also, der += wird sozusoagen als "=" operator angesehn, der aus einem übergebenen objekt einen wert erzeugt und dem Objekt zuweißt?
Nur "logisch". Also gedanklich passiert das. Tatsächlich wird auf das Objekt schlicht und einfach die Funktion mit dem namen "operator +=", und mit einem internen this zeiger (den man nicht sieht) aufgerufen, und damit der interne wert erhöht.
Soweit ich weiß wird kein temporäres objekt erzeugt.
cloidnerux hat geschrieben://Edit2:
Mein Compiler meldet mit bei folgendem Aufruf einen Fehler:
Und zwar:
Code: Alles auswählen
error C2805: Binärer Operator '+=' hat zu wenig Parameter
Wieso?
Also erstmal versteh ich nicht was genau das ^ soll. Zweitens hast du etwas zu wenig kontext angegeben, bitte zeichne ein ungefähres bild von hexstring, und wo es verwendet wird.
dani93 hat geschrieben:Deshalb versteh ich nicht, wie man in der Methode auf private-Variablen der übergebenen Referenz zugreifen kann?
Tatsächlich hatte ich zuerst die Klasse als "class" definiert und die Membervariable auf private gesetzt. Dafür habe ich aber auch den überladenen stream operator als "friend" einauen müssen, und das wollte ich wegen etwaiger Verwirrungen vermeiden.
Als Struct definiert sind alle variablen automatisch public, es sei denn du führst explicit private oder protected zugriffsbeschränkungen ein.
Oder habe ich deine Frage missverstanden?
dani93 hat geschrieben: Ich wüsste da nichts Besseres als set und get Methoden zu schreiben.
Das wäre die Java variante, getters und setters für jede kleine mini-variable. Glücklicherweise kann man in C++ intuitiveren Code schreiben.
dani93 hat geschrieben: Mein Wissen über C++ beschränkt sich noch eher auf die Theorie.
Wieso denn das? Eine Sprache rein theoretisch zu lernen bringt nicht viel. Wenn du schon so topmotiviert bist und das ganze theoretisch machst, dann mach doch gleich ein "begleitendes" kleines Projekt dazu. Dabei wendest du immer das neu gelernte an. Ich kann dir zwar versprechen, dass du nur Müllcode fabrizieren wirst für den du dich später schämst (so wars zumindest bei mir), aber wenigstens lernst du einiges dabei.