C++ Funktionszeiger

Funktionszeiger/Funktionspointer in C++ erstellen.



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
Programmbeispiel
Hier ein Programmbeispiel in dem zwei verschiedene Methoden über ein und dieselbe Variable zwei Verschiedene Methoden aufgeruft werden.
Um vom Compiler keine Warning zurück zu bekommen, sollten die beiden Methoden als >>const<< deklariert werden.
#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;
}