Funktion Überlastung in c

Funktion Überlastung in c
Funktion Überladen ist ein sehr bekanntes Konzept, das in objektorientierten Sprachen verwendet wird, die viele Funktionen mit demselben Namen und unterschiedlichen Parametern in einem einzelnen Code haben. Die objektorientierten Programmiersprachen, die die Überlastung der Funktion unterstützen, umfassen Java und C++. Da der C -Compiler nicht zulässt, dass er im Code verwendet wird. Noch; Wir können immer noch dasselbe mit einer Technik erreichen. Beginnen wir diesen Artikel mit der Öffnung des Shell -Terminals von Ubuntu 20.04 LTS.

Voraussetzungen

  • Installieren Sie Ubuntu 20.04 LTS
  • Installieren Sie den GCC -Compiler
  • Holen Sie sich Sudo Rights Access Access

Beispiel 01: Funktion Überladen in C

Beginnen wir unser erstes Beispiel, um zu sehen, wie die Überlastung der Funktionsüberlastung in der C -Sprache einfach fehlschlägt. Wir müssen den Anweisungen „Touch“ innerhalb der Terminalschale verwenden, um ein neues C-Typ-Dokument zu erstellen. Um diese neue Datei zu öffnen, benötigen Sie einen Datei -Editor. Wir haben den Redakteur „GNU Nano“ verwendet, um ihn zu öffnen.

Führen Sie die folgenden Anweisungen aus, um loszulegen, um loszulegen.

$ Touch Test.C
$ nano test.C

Nachdem wir die Datei in einem Editor gestartet haben. Nach dem Header haben wir zwei benutzerdefinierte Methoden mit einem ähnlichen Namen und unterschiedlichen Parametern definiert.e., "Cal". Die erste benutzerdefinierte Methode, „Cal“. Die erste Funktion hat einfach den übergebenen Ganzzahlwert mit sich selbst multipliziert und auf eine andere Variable Typ "T", die gerade initialisiert wurde.

Danach würde der berechnete Wert in der Shell über die darin verwendete "printf" -Anweisung angezeigt. Die andere Funktion nimmt zwei Ganzzahlwerte in ihr Argument ein und verwendet die bestandenen Werte, um die Gesamtsumme zu berechnen, indem sie beide multiplizieren. Die berechneten Werte würden in der Schale gemäß der Anweisung „Printf“ ausgedruckt.

In der Main () -Methode haben wir beide Methoden nacheinander aufgerufen. Die erste Methode wurde aufgerufen, während 1 parametrischer Ganzzahlwert darin enthalten ist. Die andere gleichnamige Funktion wurde aufgerufen, während zwei Werte vom Typ ganzzahliger Typ in seinen Parametern bestanden werden. Die Hauptmethode wird hier geschlossen.

Speichern Sie diesen Code und beenden Sie die Datei. Verwenden Sie das "GCC" -Kompilerpaket, um den Code zu kompilieren und die Funktionsüberladungsfehler anzusehen. Der Befehl wurde in der Bildausgabe unten angegeben. Sie können sehen, dass das Kompilieren dieser Datei aufgrund des gleichen Namens von Funktionen viele Ausnahmen ausführt.

Führen Sie den folgenden Anweisungen aus.

$ GCC -Test.C

Beispiel 02: Alternative zur Funktion Überladung

In diesem Beispiel werden Sie Sie über die alternative Methode zur Überlastung der Funktion informieren. Wir haben die gleiche Datei noch einmal geöffnet und drei Header -Pakete oben mit #include Keyword hinzugefügt. Wir haben zwei benutzerdefinierte Funktionen gleichnamig mit einer einzelnen Zeichenänderung definiert. Beide Funktionsnamen beginnen mit "Cal".

Die erste Methode hat zwei Ganzzahl -Typwerte als Argument in ihren Parametern eingenommen. Während der andere zwei Zeiger vom Typ Charakter als Argument in seinen Parametern genommen hat. Die erste „CAL“ -Methode hat diese beiden Ganzzahlwerte aufgenommen und zusammengefügt. Die berechneten Werte würden an die Hauptmethode zurückgegeben. Andererseits hat die andere "CAL" -Methode einen anderen Zeigertyp -Zeiger "Z" initialisiert, "Z".

Die Strlen () -Methode wird auf beide String -Variablen angewendet, um Längen zu erhalten, und die malloc () -Methode wurde auf Länge angewendet, um die Speichergröße zu erhalten. Der Zeiger „Z“ hat über die malloc () -Methode Speicher erhalten, da er den String -Wert speichern muss. Mit der Methode von Strcpy () wird der Stringwert der Zeigervariablen "x" nach "Z" kopiert. Während die Strcat () -Methode verwendet wird, um den Wert der Zeigervariablen „Y“ am Ende von „Z“ anzuhängen. Der aktualisierte Wert von „Z“ wurde an die Main () -Methode zurückgegeben. Wir haben die Funktionserklärung mit dem Schlüsselwort "_Generic" definiert.

Die main () -Methode deklariert zwei Ganzzahlvariablen, die an die erste „Cal ()“ -Methode übergeben werden sollen. Zwei Zeichenzeiger wurden mit Stringwerten initialisiert und an die zweite „Cal ()“ -Methode übergeben.

Zusammengestellt den Code mit dem GCC -Paket. Bei der Ausführung dieses Code haben wir die Summe von zwei Ganzzahlen und der verketteten Zeichenfolge erhalten.

Führen Sie die folgenden Anweisungen aus, um loszulegen, um loszulegen.

$ gcc neu.C
$ ./A.aus

Abschluss:

Diese Anleitung enthält die Veranschaulichung einer alternativen Methode zur Funktion Überladung in C. Wir haben das Beispiel abgedeckt, um zu sehen, wie die Funktion Überladung in C fehlschlägt und wie der _generische Begriff uns speichern kann. Wenn Sie diesen Leitfaden sorgfältig durchlaufen haben, können Sie von nun an die Funktion Überladung in C problemlos ausführen. Wir hoffen, dass Sie diesen Artikel am besten finden können.