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 nicht

    spä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; ) 
    


  • @Rare

    switch(zahl)
    {
      case 1: func1(); break;
       case 2: func2(); break;
       case 3: func3(); break;
    }
    


  • @manni66
    wenn ich so mache für die drei

    bool 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.Datei

    int 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.


Log in to reply