Objekte zu einer Klasse durch Einlesen hinzufügen
-
Ich finde dieses setBalance etwas merkwürdig. Auf ein Konto zahlt man ein, hebt ab und lässt sich den Kontostand anzeigen. Ich hätte Angst, wenn jemand meinen Kontostand abfragt, etwas drauf- oder runterrechnet und dann den Kontostand als Ganzes setzt. Ich würde das so umsetzen, falls die Aufgabenstellung das erlaubt:
class Account { double Balance_; // ja, ich weiß, ungenau. Dient nur zur Übung public: Account() : Balance_( 0.0 ) { } double balance() const { return Balance_; } void deposit( double Amount ) { set_balance( balance() + Amount ); } bool withdraw( double Amount ) { return set_balance( balance() - Amount ); } private: bool set_balance( double Balance ) { if( Balance > -1000 ) { Balance_ = Balance; return true; } return false; } };
@TGGC
Ich hoffe, du hast gut aufgepasst und verstanden, dass man das bei get- und set Methoden so macht.Edit:
Implementierung per set_balance(). Benutzt deposit()/withdraw()/balance() als öffentliches Interface und set_balance im Sinne der (vermuteten) Aufgabenstellung.
-
@docshoe sagte in Objekte zu einer Klasse durch Einlesen hinzufügen:
Ich hoffe, du hast gut aufgepasst und verstanden, dass man das bei get- und set Methoden so macht.
Naja, es gibt halt verschiedene Konventionen.
Ich finde zum Beispiel den _ für Membervariablen hässlich. Gut, das "x" als Präfix für Parameter habe ich noch gar nicht gesehen, dafür aber oft ein "a", insbesondere im Delphi-Umfeld (für "Argument"). Das "a" für Argumente finde ich weniger schlimm als ein "f" oder "_" für Member. Aber keine Ahnung, wie hier die vorherrschende Meinung ist. Oder bevorzugt ihr
this->balance = balance
? Letzteres finde ich auch in Ordnung. Jedenfalls lehne ichbalance = xbalance;
ab.