Funktionszeiger in C++ realisieren
Funktionspointer/Funktionszeiger sind Zeigervariablen, welche auf die Anfangsadresse einer Funktion zeigen. Somit kann beispielsweise durch die Übergabe eines Strings auf eine Funktion gezeigt- und gestartet werden!
Allgemeine Form
int (*Funktion)(Argument) = FktName; // (*Funktion) = Name des Zeigers, in welchem die Anfangsadresse der Funktion steht (Adresse im Hauptspeicher) // FktName = Name der anzusprechenden Funktionsname
#include <iostream> using namespace std; /** * @desc Funktionszeiger 1. * @return char */ const char *funktionspointer( void ) { return "Methode funktionspointer()"; } /** * @desc Funktionszeiger 2. * @return char */ const char *fp( void ) { return "Methode fp()"; }
int main() { const char* (*GetString)(void); // Prototyp fuer Funktionspointer // Methode *funktionspointer GetString = funktionspointer; // Name der aufzurufenden Methode an GetString uebergeben cout << GetString() << endl; // Methode ausfuehren // Methode *fp GetString = fp; cout << GetString() << endl; // Methode ausfuehren return 0; }