Bis jetzt haben wir immer nur recht simple Programme geschrieben. Der gesamte Code befand sich in der main()-Funktion. Doch man kann auch mehrere Funktionen verwenden. Funktionen solltest du dir als kleine geschlossene Programmeinheiten vorstellen. Sozusagen kleine Miniprogramme. Funktionsparameter sind die Eingabedaten für diese Miniprogramme und der Rückgabewert ist deren Ausgabe.
main() war unsere erste Funktion. Schauen wir uns einmal an, wie so eine Funktion aussehen muss:
rückgabe_type funktions_name(0_bis_beliebige_anzahl_an_parametern);
Der Rückgabetype ist bei main() int. Der Funktionsname ist main(). und die Anzahl der Parameter ist 0.
Schreiben wir nun eine Funktion Add(), welche 2 Werte addiert und das Ergebnis zurückgibt.
#include <iostream>
using namespace std;
int Add(int, int); //Deklaration einer Funktion
int main()
{
int a,b;
cout<<"Bitte 2 Zahlen eingeben\n";
cin>>a;
cin>>b;
cout<<"Die Summe von "<<a<<" und "<<b<<" ist "<<Add(a,b)<<".\n";
}
int Add(int lhs, int rhs) //Definition einer Funktion
{
return lhs + rhs;
}Mit int Add(int,int); haben wir eine Funktion Add deklariert (die Namen der Parameter sind optional), die 2 int Parameter nimmt und einen int zurück gibt. Diese Deklaration kann natürlich wegfallen, wenn wir Add() überhalb von main() definieren würden. Denn bei Funktionen gilt das gleiche wie bei Variablen: eine Funktion muss bei ihrer Verwendung bekannt sein.
Generell gilt bei einer Funktion: 'return_typ Name(Parameter)'
return_typ ist der Variablentyp der zurückgegeben wird. Quasi das Ergebnis der Funktion. Wenn der return_typ void ist, dann wird nichts zurückgegeben und die Funktion liefert direkt kein Ergebnis.
Die Parameter sind Variablen die wir an die Funktion übergeben. In der Funktion sind ja keine Variablen die wir in main deklariert haben bekannt, also müssen wir, die für die Funktion wichtigen Werte 'per Hand' übergeben.
In unserem Beispiel werden die Parameter 'per value' übergeben, dh es wird von den Zahlen extra für unsere Funktion Kopien erstellt, dh, wenn wir die Zahlen in der Funktion ändern, dann hat das keinen Einfluss auf main.
Add() können wir sooft aufrufen, wie wir wollen. Wir haben eine Funktionalität (nämlich addieren) ausgelagert.
Deine Aufgabe ist nun, die Aufgabe "operator* und operator/ mit Hilfe von operator+ und operator- zu Implementieren" neu zu schreiben.