Zbadajmy przeciążenie w C/C++/C#

Odbicie kobiecego hakera kodującego hackathon na laptopie

Obrazy bohaterów / Obrazy Getty





Przeciążanie funkcji pozwala Funkcje w językach komputerowych, takich jak C, C++ iC#mieć tę samą nazwę z różnymi parametrami. Przeciążenie operatora umożliwia operatorom pracę w ten sam sposób. W języku C# przeciążanie metod działa z dwiema metodami, które wykonują to samo, ale mają różne typy lub liczby parametrów.

Przykład przeciążenia funkcji

Zamiast mieć inaczej nazwaną funkcję do sortowania każdego typu tablicy, na przykład:



Możesz użyć tej samej nazwy z różnymi typami parametrów, jak pokazano tutaj:



The kompilator jest wtedy w stanie wywołać odpowiednią funkcję w zależności od parametr rodzaj. Rozdzielczość przeciążenia to pojęcie nadane procesowi wyboru odpowiedniej funkcji przeciążenia.

Przeciążenie operatora

Podobnie jak w przypadku przeciążania funkcji, przeciążanie operatorów umożliwia programistom przedefiniowanie operatorów, takich jak +, - i *. Na przykład wklasadla liczb zespolonych, gdzie każda liczba ma część rzeczywistą i urojoną, przeciążone operatory pozwalają na działanie kodu takiego jak:



Dopóki + jest przeciążony dla złożonego typu.

Zalety przeładowania podczas pisania kodu

  • Otrzymujesz kod, który jest łatwiejszy do odczytania
  • Przeciążanie jest wygodne i intuicyjne
  • Unika niezgrabnej składni
  • Spójność w nazewnictwie i notacji
  • Działa dobrze w szablonach i innych konstrukcjach, gdy nie znasz typu zmiennej w momencie pisania kodu.