Zeiger auf unbestimmte Funktion



  • Hallo, ich bin noch ein ziemlicher Anfänger was das Programmieren in C++ anbelangt und hoffe, dass mir jemand mit mehr Erfahrung eine kurze Antwort geben kann.
    Ich bin derzeit eine Klasse am erstellen, mit welcher ich später Nullstellen einer Funktion f bestimmen will.
    Mir wurde gesagt meine Klasse soll einen Zeiger auf eine Funktion f, die ihre Nullstelle auf einem Intervall [a,b] annimmt, enthalten. Ich verstehe allerdings nicht ganz, wie ich diesen Zeiger in meiner Klasse definieren soll, da ich noch nichts über f weiß. Kann mir jemand einen Denkanstoß geben wie man das macht?

    Grüße,
    M


  • Mod

    Wieso weißt du denn nichts über die Funktion? Aus deiner Beschreibung geht doch bereits hervor, dass diese ein Argument von dem Typ an nimmt, den a und b haben (vermutlich double?) und einen arithmetischen Rückgabewert hat (vermutlich auch double?), also wäre ein Zeiger da drauf vom Typ double (*)(double) .

    Oder wenn du nicht weißt, ob es double oder ein anderer Typ ist, nimmst du eben einen Templatetypen und überlässt somit die genaue Bestimmung dem Nutzer.



  • Ah, danke, das beantwortet mir meine Frage. Ich habe nicht ganz verstanden wie Zeiger funktionieren und mittels Buch und Internet versucht zu verstehen wie ein Zeiger auf eine Funktion aussehen würde, allerdings hab ich nur beispiele für konkrete Funktionen und nicht allgemeine gefunden (die alle etwas komisch für mich aussahen). Ich hatte mir schon gedacht, dass ich irgendwas mit double *Zeiger machen müsste, hab allerdings gedacht ich müsste darin noch irgendwo den Funktionsnamen oder ähnliches einbauen.
    Ach und ja, a und b sind vom Typ double.



  • Was du für den Funktionsnamen hältst, ist wahrscheinlich der Name der Funktionszeigervariable. Du willst die Funktion ja sicher auch mal benutzen...


Log in to reply