Wymagania wstępne
Przykład 01: Przeciążenie funkcji w C
Zacznijmy nasz pierwszy przykład, aby zobaczyć, w jaki sposób przeciążenie funkcji po prostu zawodzi w języku C. Musimy wykorzystać instrukcję „dotyk” w terminalu, aby utworzyć nowy dokument typu C. Aby otworzyć ten nowy plik, potrzebujesz edytora plików. Użyliśmy edytora „GNU Nano”, aby go otworzyć.
Wykonaj następujące instrukcje umieszczone, aby rozpocząć.
$ Touch Test.C
Test $ nano.C
Po uruchomieniu pliku w edytorze uwzględniliśmy, ponieważ zdefiniowaliśmy dwa standardowe nagłówki wejściowe. Po nagłówku zdefiniowaliśmy dwie metody zdefiniowane przez użytkownika o podobnej nazwie i różnych parametrach, i.mi., „Cal”. Pierwsza metoda zdefiniowana przez użytkownika, „Cal” przyjmuje 1 argument typu liczb całkowity. Pierwsza funkcja po prostu pomnożyła przekazaną wartość całkowitą ze sobą i zapisywanie jej do innej zmiennej typu liczb całkowitych, „t”, która właśnie została zainicjowana.
Następnie obliczona wartość zostanie wyświetlona w powładzie za pomocą instrukcji „printf” używanej w nim. Druga funkcja przyjmuje dwie wartości całkowitej w swoim argumencie i wykorzystuje przekazane wartości do obliczenia suma poprzez pomnożenie obu. Obliczone wartości zostałyby wydrukowane w skorupce zgodnie z instrukcją „PrintF”.
W ramach metody main () nazywaliśmy obie metody jeden po drugiej. Pierwsza metoda została wywołana podczas posiadania 1 parametrycznej wartości całkowitej. Inna sama funkcja nazwy została wywołana podczas przekazywania dwóch wartości typu liczb całkowitych w swoich parametrach. Główna metoda zostaje zamknięta tutaj.
Zapisz ten kod i wyjdź z pliku. Użyj pakietu kompilatora „GCC”, aby skompilować kod i zobaczyć błędy przeciążania funkcji. Polecenie zostało podane w poniższym wyjściu obrazu. Możesz zobaczyć, że kompilacja tego pliku rzuca wiele wyjątków ze względu na tę samą nazwę funkcji.
Wykonaj następującą umieszczoną instrukcję.
Test $ GCC.C
Przykład 02: Alternatywa dla przeciążenia funkcji
W tym przykładzie poinformujemy Cię o alternatywnej metodzie wdrażania przeciążenia funkcji. Ponownie otworzyliśmy ten sam plik i dodaliśmy trzy pakiety nagłówka u góry za pomocą słowa kluczowego #Include. Zdefiniowaliśmy dwie zdefiniowane przez użytkownika funkcje o tej samej nazwie o jednej zmianie znaku w nich. Obie nazwy funkcji zaczynają się od „cal”.
Pierwszą metodą jest przyjmowanie dwóch wartości typu liczb całkowitych jako argumentu w swoich parametrach. Podczas gdy drugi przyjmuje dwa wskazówki typu postaci jako argument w swoich parametrach. Pierwszą metodą „Cal” było pobieranie tych dwóch wartości liczb całkowitych i dodanie ich razem. Obliczone wartości zostaną zwrócone do głównej metody. Z drugiej strony druga metoda „Cal” zainicjowała inny wskaźnik typu postaci „Z”.
Metoda strlen () jest stosowana do obu zmiennych ciągów w celu uzyskania długości, a metoda Malloc () zastosowano do długości, aby uzyskać rozmiar pamięci. Wskaźnik „Z” otrzymuje pamięć za pomocą metody Malloc (), ponieważ musi przechowywać wartość ciągu. Metoda strcpy () służy do kopiowania wartości łańcuchowej zmiennej wskaźnika „x” do „z”. Podczas gdy metoda strcat () jest używana do dołączenia wartości zmiennej wskaźnika „y” na końcu „z”. Zaktualizowana wartość „Z” została zwrócona do metody Main (). Zdefiniowaliśmy deklarację funkcji za pomocą słowa kluczowego „_Generic”.
Metoda Main () deklaruje dwie zmienne całkowite, które mają zostać przekazane do pierwszej metody „cal ()”. Dwa wskaźniki znaków zostały zainicjowane wartościami ciągu i przekazane do drugiej metody „cal ()”.
Opracował kod z pakietem „GCC”. Po wykonaniu tego kodu otrzymaliśmy sumę dwóch liczb całkowitych i połączonego ciągu.
Wykonaj następujące instrukcje umieszczone, aby rozpocząć.
$ gcc nowe.C
$ ./A.na zewnątrz
Wniosek:
Ten przewodnik zawiera ilustrację zastosowania alternatywnej metody przeciążenia funkcji w C. Omówiliśmy przykład, aby zobaczyć, w jaki sposób przeciążenie funkcji awansuje w C i jak może nas zapisać termin _generyczny. Jeśli ostrożnie przeszedłeś przez ten przewodnik, od teraz będziesz mógł wykonać przeciążenie funkcji w C. Mamy nadzieję, że najlepiej znajdziesz ten artykuł.