| Titel: | C++ Funktionszeiger | |
| Beschreibung: | Funktionszeiger/Funktionspointer in C++ erstellen. | |
| Kategorie: | Programmierung | |
| Unterkategorie | C/C++ | |
| Benötigtes Fachwissen: | Fortgeschrittene | |
| Artikel überarbeiten: | C++ Funktionszeiger | |
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
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; }
C++ Zeiger und Referenzen