C++ Funktionen

Erstellung und Verwendung einer Funktion in C++



C++ Funktionen
Eine Funktion, (bzw. eine Methode, da Objektorientiert!) fasst Anweisungen zusammen, welche in einem Programm immer wieder gebraucht werden.


Eigenschaften von Funktionen
* Eindeutiger Name
* Kann Argumente besitzen, welcher der Funktion übergeben werden
* Kann einen Rückgabewert besitzen


Allgemeine Form

 
Typ Name(Argument)
{
  // Anweisung
}
Funktion mit Rückgabewert
int fktname(double d, char c)
{
  // Diese Funktion besitzt:
  // einen int Rüchgabewert, welcher mit return übergeben wird
  // Zwei Argumente double d und char c
  // Ist mit dem Namen fktname ansprechbar 
 
  return 1000;
}
Funktion ohne Rückgabewert
void fktname(double d, char c)
{
  // Diese Funktion besitzt:
  // keinen Rückgabewert, was durch void gekennzeichnet wird
  // Zwei Argumente double d und char c
  // Ist mit dem Namen fktname ansprechbar 
}
 
 
Funktion mit Default-Parameter
Mit dem default-Parameter kann ein oder mehrere Parameter mit einem Standardmäßigen Wert versehen werden. Wird für diesen Parameter beim Aufruf kein Wert mitgeliefert, so wird der Standardwert verwendet.
Werden in einer Funktion normale Parameter zusammen mit default-Parameter verwendet, so müssen die default-Parameter von rechts beginnend deklariert werden.
void fktname(int i, int j, double d=0.1)
{
  // Diese Funktion besitzt:
  // zwei normale Parameter int i, j
  // einen default-Parameter double d
}
 
Funktionen überladen >>overloading<<
Funktionen können auch überladen werden. Dabei wird ein und derselbe Funktionsname nur mit anderen Parametern verwendet. Je nachdem welche Parameter dann dem Funktionsaufruf übergeben werden, wird automatisch die passende Funktion ausgewählt.
void fktname(int i)
{
  std::cout << "Funktion 1";
}
 
 
void fktname(double i)
{
  std::cout << "Funktion 2";
}
 
 
void fktname(int i, double d)
{
  std::cout << "Funktion 3";
}
 
 
 
// Aufrufe
 
fktname(1); // Führt Funktion 1 aus
fktname(0.1); // Führt Funktion 2 aus
fktname(1, 0.1); // Führt Funktion 3 aus
 
Verwendungsbeispiel
/**
* @desc Berechnet das Quadrat einer Zahl
* @param int i :  Zahl dessen Quadrat berechnet werden soll
* @return int
*/
int square(int i=1)
{
  return i*i; // Quadrat berechnen und mit return ausgeben
}
 
 
/**
* @desc gibt eine Zahl auf der Konsole aus
* @param int i :  Zahl die ausgegeben werden soll
* @return void
*/
void print(int i)
{
  std::cout << i; // Zahl auf Standardkonsole ausgeben
}
 
 
 
// Hauptprogramm
int main()
{
  int zahl, quadrat;
 
  zahl = 10;
  quadrat = square(zahl); // Quadrat berechnen und in quadrat speichern
 
  print(quadrat); // Berechnete Zahl an print übergeben
 
 
  return 0; // return 0=erfolgreich beendet
}
 
 
 
/*
Programmausgabe:
100
*/
obiger Code berechnet über die Funktion square() das Quadrat der Zahl, welche über den Parameter int i übergeben wurde und liefert das Ergebnis als int-Wert zurück.

Danach wird die Funktion print() mit dem übergebenen Parameter int i gestartet. Die Funktion gibt dann den Wert durch Aufruf von cout der Konsole über.