Methodenaufruf
-
Hi,
wenn man eine Methode hat die z.B. eine unterschiedliche Anzahl an Parametern annehmen kann - verwendet man dann in C++ drei Methoden oder schreibt man die Methoden mit Defaultparametern und checkt dann in der Methode mit if() Clauses wieviele Parameter wirklich vorhanden sind?
SetValue(int value1, int value2, int value3, int value4);Diese Funktion kann bzw. soll aufgerufen werden mit zwei Parametern, drei, und vier Parametern.
Mfg
Patrick
-
Wenn die Funktion abhängig von den Anzahl Parameter unterschiedliches macht, dann macht man unterschiedliche Funktionen. Wenn man einfach nur einen Default-Wert übergibt, der Funktion aber egal ist, wieviele Werte übergeben wurden, dann kann man Default-Werte nehmen.
Grüssli
-
Überladen.
-
Dravere schrieb:
Wenn die Funktion abhängig von den Anzahl Parameter unterschiedliches macht, dann macht man unterschiedliche Funktionen. Wenn man einfach nur einen Default-Wert übergibt, der Funktion aber egal ist, wieviele Werte übergeben wurden, dann kann man Default-Werte nehmen.
Grüssli
ok, d.h. die Funktion entsprechend überladen
SetValue(int value1, int value2, int value3, int value4); SetValue(int value1, int value2, int value3); SetValue(int value1, int value2);Mfc
Patrick
-
Käme sowas vielleicht auch infrage?
x.SetAttr1( 1 ); x.SetAttr2( 2 ); x.SetAttr3( 3 ); x.SetAttr4( 4 ); x.Update();Mit einer Funktion 4 Parameter zu setzen löst bei mir immer etwas Unbehagen aus.
Ggf. kann der Update() Aufruf noch in den SetAttrX() Rumpf wandern, damit der Clientcode das Update() "vergessen" darf.