Eine Funktion in der C /C + +-Sprachen ist ein Prozess , um ein bestimmtes Ziel zu erreichen. Der Kern Syntax und ein Mechanismus der C + +-Programm erbt Grundregeln der ursprünglichen Sprache C und baut auf sie. Definieren Sie die Funktion in einem C + +-Objekt oder als globale Funktion , rufen Sie die Funktion mit den Werten für die einzelnen Parameter definiert . Argumente an Funktionen
Definieren Sie eine Liste von Variablen als Parameter an die Funktion. Diese werden als " Argumente . " Man kann auch eine Funktion definieren, ohne Parameter überhaupt :
Objecto :: Funktion f (int arg1, char * arg2 , Doppel arg3 ) {//Funktion Body //. Ergebnis variiert mit dem Argument values}
Fehlende Argumente
C + + ermöglicht es Ihnen, eine Funktion ohne Argumente definiert nennen . Dies führt nicht zu einem Compile-Zeit , Link -oder Laufzeitfehler . In diesem Fall verwendet die Funktion Standardwerte für die Argumente zur Laufzeit . Geben Sie Standardwerte für Argumente genau dann und dort :
nichtig MyFunction (double d_arg = 0.0 ) {if ( d_arg == 0.0) ... else ...}
Funktionen überladen
Dies ist ein ganz besonderes Feature von C + +. Sie können "Überlast" eine bestehende Definition der Funktion mit einer anderen. Der Name der Funktion bleibt die gleiche, aber die Liste der Argumente ist anders. Verwenden Sie diese Funktion , um eine Überlastung Standard-Bibliothek Funktionen als gut, aber nur wenn nötig :
zB int MyFunction (int a); int MyFunction (int a, double b); int MyFunction ();
Hier erzählt die Syntax der Funktion Aufruf der Compiler, der MyFunction abholen zu können. Wenn Sie sich nicht über alle Argumente , wird die dritte abgeholt. Wenn die Funktion Aufruf sieht wie folgt aus: " r_val = MyFunction (12) ," dann verwendet der Compiler die zweite Definition
Standardwerte für die Argumente , wie in Abschnitt 2 gezeigt , ist eine Verknüpfung der Verfahren . Überladen von Funktionen , aber es funktioniert nur in einfachen Fällen
Überlastung Object Konstrukteurs
Die wahre Stärke von Überladen von Funktionen in C + + ist in Konstruktor Überlastung. . Definieren der Konstrukteur eines Objektes in zwei oder mehr Arten. In anderen Worten, dass der Anrufer das Objekt in unterschiedlicher Weise aus verschiedenen Gründen zu schaffen - wie Abwärtskompatibilität , Portabilität oder Flexibilität. Constructor für Objekt MyObject heißt " MyObject (). " Zum Beispiel:
Klasse date { int Tag , Monat, Jahr ;
public: void Datum (char * C_DATE ); nichtig date ( int mm, int dd, int jj) ; nichtig date () ;
...
}
In der älteren Version dieser Software , die " Date " Objekt erstellt wurde mithilfe einer Zeichenfolge vom Benutzer eingegeben . In der nächsten Version wurden die Tag, Monat und Jahr getrennt , um die starre Format Kontrolle vermeiden übergeben . Ab dem Zeitpunkt der Veröffentlichung nicht Programmierer nicht auf den Benutzer angewiesen überhaupt, aber sie holen oder berechnen Sie das Datum über die Systemuhr , in den Prozess der Schaffung der "Date" -Objekt. Erstellen Sie das Objekt im Programm:
Methode A: date (" 10.10.2011 "); Methode B: Datum ( 10, 10, 2011) ; Methode C: date () ;
Wenn Sie sich mit der älteren Version dieser Software sind , und stoßen auf ein Anwenderprogramm, das Datum nennt ohne Argumente , können Sie ratlos, wie der Compiler erlaubt , dass . Die Erklärung dafür ist das Überladen von Funktionen .