Wie wird eine bestimmte Getfunktion() aufgenommen durch einen Parameter?
-
Hallo zusammen,
ich lesse eine Zahl aus der Text-Datei und speichere die in einen int Datentyp.
und ich habe drei Getfunktion();. Anhand welcher Nummer ist gespeichert, soll nur eine Getfunktion aufgerufen.
die Getfunktionen sind :int Zahl ; //Zahl wird von Text-Datei abgelesen bool GetPosition_Upper () const (return //??) // bei zahl=0 bool GetPosition_Center () const (return //??) // bei zahl=1 bool GetPosition_Lower () const (return //??) // bei zahl=2
kann jemand mir bitte helfen, wie ich entscheiden kann, welche Get() soll aufgerufen . Wenn ich mit ```cpp
return Zahl; //dann werden alle gleich
-
Warum hast du drei Getter, wenn du nur eine Variable hast?
-
Wenn du deine Frage so formulierst, dass man sie auch verstehen kann, hast du möglicherweis auch schon eine Lösung.
-
Magst Du's vielleicht in Englisch probieren? Ich verstehe kein Wort, was Du da schreibst.
VG Martin
-
Also es geht um die Position einer Dialog ( Oben , Unten oder Mitte).
aus der Test-Datei lesen wir eine Zahl ab und hängt davon ist welche zahl ist der datei geschrieben wurde.
Und ich habe drei Get **für Oben->Zahl=0 , Unten->Zahl=2 oder Mitte->Zahl=1, **
und jetzt anhand der Zahl soll nur eine Get aufgenommen und die andere Zwei nichtspäter will dann diese Get in mainFunktion aufgereufen.
Ich würde gerne wissen wie ich entscheiden anhand welcher zahl wird eine Get aufgenommen
-
@Rare sagte in Wie wird eine bestimmte Getfunktion() aufgenommen durch einen Parameter?:
wird eine Get aufgenommen
"Aufgenommern" ergibt keinen Sinn.
Meinst du soetwas?
bool GetPosition_Upper () const (return Zahl == 1; )
-
switch(zahl) { case 1: func1(); break; case 2: func2(); break; case 3: func3(); break; }
-
@manni66
wenn ich so mache für die dreibool GetPosition_Upper () const (return Zahl == 0;) bool GetPosition_Center () const (return Zahl == 1;) bool GetPosition_Lower () const (return Zahl == 3;)
dann die Ablesung von der Text-Datei spielt Keine Rolle mehr oder ?, weil ich habe schon das selber definiert mit 1, 2 und 0
-
@Belli
Ja wollte auch mit if-Anweisung aber immer Fehler bekomme ich. Da ich die vergleichung und entscheidung will ich in der klasse und nicht in der MainFunktion .
-
@Rare
Das grundsätzlich auch funktionieren in Klasse muss.
Wenn nicht, vielleicht mehr zeigen könnte sein sinnvoll Code?
-
@Belli
Das ist meine h.Dateiint Zahl ; //Zahl wird von Text-Datei abgelesen durch bestimmte Funktion in Cpp.Datei switch(zahl) { case 0: bool GetPosition_Upper () const // bei zahl=0 break; case 1: bool GetPosition_Center () const // bei zahl=1 break; case 2: bool GetPosition_Lower () const // bei zahl=2 break; }
und in der ManiFunktion wollte so
if(pModError_g->GetDlgPosition_Center ()) // Falls die Zahl 1 ist sonst prüft die andere Gets CenterWindow (); else if () .....
so wie ich machen wollte .
-
Es könnte eventuell sein, dass du beim kompilieren deiner h.datei einen Fehler kriegst.
@Rare sagte in Wie wird eine bestimmte Getfunktion() aufgenommen durch einen Parameter?:
und in der ManiFunktion wollte so
if(pModError_g->GetDlgPosition_Center ()) // Falls die Zahl 1 ist sonst prüft die andere Gets CenterWindow (); else if () .....
so wie ich machen wollte .
Genau das wird durch manni66s Beitrag gelöst.