Als etwas spezifischeres Beispiel soll nun eins aus der Statistik genommen werden. In der Statistik gibt es verschiedene Testverfahren, die Auskunft darüber geben, ob eine gewisse Datenmenge unter der Annahme einer bestimmten Verteilung der Daten ein Signifikanzniveau erreicht, d.h. mit einer vorgegebenen Wahrscheinlichkeit aussagekräftig ist. Dies mag jetzt für jemanden, der noch keine Erfahrung mit Statistik hat, schwer zu verstehen sein, aber was uns interessiert ist sowieso nur die Anzahl und Art der Parameter einer entsprechenden Funktion. Diese sind:
float
Eine Verteilung - übergeben als eine Aufzählung mit Namen
distribution
und Bezeichnungen für die einzelnen
Verteilungen
bool meinTest(string dateiname, float signifikanz=0.95, distribution vert=normal);
Damit kann bei der Übergabe auf die Angabe der Verteilungsform verzichtet werden oder gar nur die entsprechende Datei angegeben werden. Ein Verzicht auf die Angabe des Signifikanzniveaus ist aber erst bei gleichzeitigem Verzicht auf die Angabe der Verteilung möglich:
meinTest("datei1.dat", 0.99, binomial); // Testet die Daten aus Datei1.dat unter Annahme einer // Binomialverteilung bei Signifikanzniveau von 99% meinTest("datei2.dat", 0,98); // Testet bei Normalverteilung und 98% Signifikanz meinTest("datei3.dat"); // Testet bei Normalverteilung und 95% Signifikanz