Bestimmte Objekte updaten bzw. ergänzen

janosch

Erfahrenes Mitglied
Moin!

Ich weiß nicht so recht wie ich es am besten erklären soll.
Kurz und bündig gibt es in C++ ein Funktion mit der ich die Eigenschaften eines bestimmten Objekts updaten kann?


P.S. Ich habe grad wieder mit C++ angefangen ;)

Beispiel:

main.cpp
Code:
//schnipp

        //objekte anlegen
	B* b0 = new B(0,abc,x11);
	B* b1 = new B(0,abc2,x12);
	B* b2 = new B(1231,abc3,x13);
	B* b3 = new B(3123,sdfsd,x14);

//schnapp
Soweit so gut. Jetzt hab ich ja eine Liste mit 4 Objekten. Jetzt möchte ich aber bei den Objekten bei der Variable3 nicht nur einen wert sondern x werte angeben können(wenn möglich nachträglich).

Beispiel:

main.cpp
Code:
//schnipp

        //objekte anlegen
	B* b0 = new B(0,abc,x11);
	B* b1 = new B(0,abc2,x12);
	B* b2 = new B(1231,abc3,x13);
	B* b3 = new B(3123,sdfsd,x14);
                                 ^------- hier möchte ich z.B. zwei werte angeben  beim selben objekt 

//schnapp
Also der User wird abegfragt was er machen will. Er gibt die Option für einen Eintrag ergänzen an. Daraufhin bekommt er eine liste mit allen Objekte ausgegeben. Jetzt will der user im Objekt b3 die Variable 3 ändern bzw. einen Eintrage für dieses Obj. ergänzen.

Ausgabe vor der Änderung:
Code:
Obj     V1      V2         V3        V3.1  V3.2   V3.3
b0       0        abc        x11      NULL  NULL  NULL
b1       0        abc2      x12      NULL  NULL  NULL
b2       1231   abc3      x13      NULL  NULL  NULL
b3       3123   sdfsd     x14      NULL  NULL  NULL


Ausgabe nach der Änderung:
Code:
Obj     V1      V2         V3        V3.1  V3.2   V3.3
b0       0        abc        x11      NULL  NULL  NULL
b1       0        abc2      x12      NULL  NULL  NULL
b2       1231   abc3      x13      NULL  NULL  NULL
b3       3123   sdfsd     x14      X16     NULL  NULL

So hoffentlich ist es jetzt verständlich ;)
 
Meinst du, du willst einfach den Eigenschaften eines Objekts neue Werte zuweisen?

Falls die Eigenschaften public sind:
Code:
class B{
public:
int wert1,wert2;
B(int a,int b):wert1(a),wert2(b){}
};
int main(){
B* pbObj = new B(3,4);
pbObj->wert1 = 45; ///neuen wert zuweisen.
}

btw: Wie hast du dann überhaupt bisher auf die Eigenschaften zugegriffen (du hast sie ja immerhin ausgegeben)?

Oder nicht public zB:
Code:
class B{
int wert1,wert2;
public:
B(int a,int b):wert1(a),wert2(b){}
void SetWert1(int a){
wert1=a; }
int GetWert1(void){
return wert1;}
};
int main(){
B* pbObj = new B(3,4);
pbObj->SetWert1(45); ///neuen wert zuweisen.
}
 
oki ich glaub das reicht so weit

P.S. Noch eine Frage was machst du hier: "B(int a,int b):wert1(a),wert2(b){}" genau?

Warum schreibst du zwei funktionen hinter den Kon.?
 
Zuletzt bearbeitet:
Zurück