Überladene Funktionen in Class



  • Hallo Leute,

    mal ne Frag zu Funktionen in Class.
    Ich bin mir nicht ganz sicher ob der Titel stimmt.

    Ich habe zum beispiel eine Class die nennt sich Datenbank.
    Dort habe ich viele Funktionen die anweisungen an eine Datenbank geben Inserte Select Update usw.

    Jetzt gibt es mit der Zeit ähnliche Abfragen die nur ein paar Parameter anders haben.

    Unter der MFC gigt es ja die Funktion, bei Eingabe von Funktion Klammer auf ("(") dass er mir die Parameter anzeigt mit z.b. 3 verschiedenen Typen.

    Wie mache ich das jetzt, dass es auf meine eigene Classe wirkt ??

    Gruß
    andy_mann



  • Unter der MFC gigt es ja die Funktion, bei Eingabe von Funktion Klammer auf ("(") dass er mir die Parameter anzeigt mit z.b. 3 verschiedenen Typen.

    könnte wir von dem auch die deutsche varainte bekommen? 🤡 :p

    *nix_versteh*



  • Also,

    in der MFC gibt es doch bei aufruf einer Funktion mehrere Auswahl Kriterien.

    Wie kann ich dass bei selbst geschriebenen Funktionen realisieren ??

    Nennt mann das eine Überladene Funktion ??

    Gruß und tschuldigung
    andy_mann



  • o_O

    so ganz klar was du willst ist es mir immer noch nicht..

    Meinst du so was:

    class Foo {
      void func(const char *param) {};
      void func(int param) {};
      void func(double param) {};
    };
    

    das wird so realisiert wie oben im beispiel 🤡



  • Ja glaube ich, werde ich gleich mal ausprobieren.

    Was versteht man denn eigentlich unter

    Überladene Funktionen ??

    Gruß und Danke
    andy_mann



  • andy_mann schrieb:

    Was versteht man denn eigentlich unter Überladene Funktionen ??

    void foo(int);
    char foo(double, int);
    int foo();
    

    sind alles überladene Funktionen, die den selben Namen haben, aber eine unterschiedliche Anzahl an Parametern, oder unterschiedliche Argument- bzw. Rückgabetypen haben. Bei Klassen-Methoden kommen die CV-Qualifier dazu:

    struct A
    {
        void foo();
        void foo() const;
        void foo() volatile;
        void foo() const volatile;
        void foo(int);
    };
    
    //Aufruf
    
    A a;
    a.foo(); //1
    a.foo(0); //5
    
    const A a;
    a.foo(); //2
    a.foo(0); //Fehler, konstant
    
    volatile A a;
    a.foo(); //3
    
    const volatile A a;
    a.foo(); //4
    

    Das ganze gehört zu den Grundlagen, deshalb solltest ein gutes C++ Buch zur Hand nehmen und es komplett durcharbeiten.

    PS. sollte der Thread nicht ins C++ Forum verschoben werden?



  • Du willst SQL_Querys durch Funktionsüberladung realisieren?

    Schreibt dir eine Funktion welche einen Parameter (Query übernimmt aber nicht für jeden Query eine Funktion.

    Willst du die SQL-Querys trotzdem irgendwo speicher dann erstell eine Listeund übergib der Funktion nur den Index aus der Liste.



  • Vielen Dank,

    das hört sich gut an..

    Gruß
    andy_mann


Anmelden zum Antworten