$truct und cla$$ Problem! brauhce hilfe!
-
hallo!
struct Product { double cost; // Kosten in EURO void setCost(double cost_C) { cost = cost_C; } }; class Konto { private: double konto_now; double konto_new; //Product price; -> Hier .. das möchte ich hier definieren double price; public: double f_ double f_konto_new(double); }; double Konto::f_konto_new(double konto_new) { konto_new = konto_now - price; konto_new = konto_new; return konto_new; }ich möchte also in der Klasse Product einen Wert für "cost" also durch setCost machen und dann den Wert von "cost" in der Klasse Konto benutzen.
kann mir jemand bitte helfen?

cu
-
So wie du es angedeutet hast, ist es schon richtig:
Product price;Du mußt dann natürlich die double Variable entfernen.
Und Zugriff auf die Struktur erhältst du dann mit dem Punkt-Operator:
konto_new = konto_now - price.cost;Und wenn du dann noch eine Getter-Funktion implementierst, dann sieht es schon ganz gut aus:
struct Product { double getCost() const { return cost; } void setCost(double cost_C) { cost = cost_C; } private: // von außen kein Zugriff saruf double cost; // Kosten in EURO };Nur wo du jetzt in deinem Programm die Kosten setzt, kann ich dir nicht sagen...
-
Th schrieb:
Und Zugriff auf die Struktur erhältst du dann mit dem Punkt-Operator:
konto_new = konto_now - price.cost;[/cpp]
Danke!
genau das mit dem Punktoperator habe ich gesucht.
ich habs zwar schon viel früher benutzt, hab es aber nach den Ferien wieder vergessen

DANKE!
mfg

-
Hi,
nur noch als Nachtrag: Ich würde dringend davon abraten, für Geldbeträge Fließkommatypen (double, float, ...) zu nehmen. Da fängt man sich blöde Rundungsfehler ein, die vollkommen unnötig sind.
Besser: Betrag in Cent als Ganzkommatyp...Außerdem sollte man sich gleich überlegen, ob "negative Preise" erlaubt sein sollen und ggf. auf einen unsigned Typ wechseln ....
Gruß,
Simon2.
-
Sinnvoll könnte es auch sein den Betrag als ein unsigned int in Cent zu speichern. getEuro() würde dann diesen Betrag durch 100 teilen und getCent() den Rest berechnen. Ist etwas langsamer nimmt aber weniger Speicherplatz ein, aber das sollte bei so einem Programm eh alles vernachlässigbar sein
Gruß
Don06