Przeciążenie funkcji a przesłonięcie w C ++

Autor: Laura McKinney
Data Utworzenia: 4 Kwiecień 2021
Data Aktualizacji: 5 Móc 2024
Anonim
Obiektowy C++ odc. 3: Konstruktory. Destruktory. Dostęp: public, private, protected
Wideo: Obiektowy C++ odc. 3: Konstruktory. Destruktory. Dostęp: public, private, protected

Zawartość

Kluczową różnicą między przeciążeniem funkcji a przesłonięciem w C ++ jest to, że przeciążenie funkcji w C ++ jest polimorfizmem w czasie kompilacji, podczas gdy przesłonięcie w C ++ jest polimorfizmem w czasie wykonywania.


Używanie jednej nazwy dla wielu form i typów jest znane jako polimorfizm. Polimorfizm jest jedną z najważniejszych koncepcji programowania obiektowego. Istnieje wiele sposobów implementacji polimorfizmu, które powodują przeciążanie, zastępowanie i funkcję wirtualną. Przeciążenie funkcji w C ++ to polimorfizm w czasie kompilacji, podczas gdy nadpisanie w C ++ jest polimorfizmem w czasie wykonywania.

Przeładowanie to skompilowany polimorfizm czasowy. Przeładowanie zapewnia wspólny interfejs dla wielu metod. Przeciążenie oznacza, że ​​kod zawiera tę samą nazwę funkcji podczas jej redefiniowania. Przeciążenie sprawia, że ​​jedna funkcja przeciążona różni się od innej funkcji. Istnieją różne parametry funkcji przeciążenia.

Polimorfizm w czasie wykonywania jest znany jako nadpisywanie. Przesłonięcie można osiągnąć za pomocą wirtualnego słowa kluczowego funkcji. To słowo kluczowe jest używane w klasie podstawowej. Gdy klasa pochodna przedefiniuje funkcję, zastąpionej funkcji nie można zmienić. Przesłonięcie w C ++ określa, która wersja funkcji jest wywoływana.


Spis treści: Różnica między przeciążaniem funkcji a nadpisywaniem w C ++

  • Wykres porównania
  • Przeciążenie
  • Nadrzędny
  • Kluczowe różnice
  • Wniosek
  • Film wyjaśniający

Wykres porównania

PodstawaPrzeciążenieNadrzędny
ZnaczeniePrzeciążenie funkcji w C ++ to polimorfizm w czasie kompilacji

Zastępowanie funkcji w C ++ jest polimorfizmem w czasie wykonywania.

 

Słowo kluczowe Przeciążenie dotyczy określonego słowa kluczowego„Wirtualny” jest specyficznym słowem kluczowym zastępującym funkcję.
Osiągnięcie W funkcji przeciążania osiąga się czas kompilacji.W przypadku zastąpienia funkcji istnieje osiągnięcie w czasie wykonywania.
Wiążący W przypadku przeciążenia funkcji następuje wczesne wiązanieW przypadku zastąpienia funkcji występuje późne wiązanie

Przeciążenie

Przeładowanie to skompilowany polimorfizm czasowy. Przeładowanie zapewnia wspólny interfejs dla wielu metod. Przeciążenie oznacza, że ​​kod zawiera tę samą nazwę funkcji podczas jej redefiniowania. Przeciążenie sprawia, że ​​jedna funkcja przeciążona różni się od innej funkcji. Istnieją różne parametry funkcji przeciążenia.


Nadrzędny

Polimorfizm w czasie wykonywania jest znany jako nadpisywanie. Przesłonięcie można osiągnąć za pomocą wirtualnego słowa kluczowego funkcji. To słowo kluczowe jest używane w klasie podstawowej. Gdy klasa pochodna przedefiniuje funkcję, zastąpionej funkcji nie można zmienić. Przesłonięcie w C ++ określa, która wersja funkcji jest wywoływana.

Kluczowe różnice

  1. Przeciążenie funkcji w C ++ to polimorfizm w czasie kompilacji, podczas gdy nadpisywanie funkcji w C ++ to czas wykonywania
  2. W przypadku przeciążenia występuje określone słowo kluczowe, natomiast „Wirtualne” to określone słowo kluczowe w przypadku nadpisywania funkcji.
  3. W funkcji przeciążania osiąga się czas kompilacji, podczas gdy w funkcji nadpisywania występuje czas działania
  4. W przypadku przeciążenia funkcji występuje wczesne wiązanie, natomiast w przypadku nadpisywania funkcji występuje późne wiązanie

Wniosek

W powyższym artykule widzimy wyraźną różnicę między przeciążeniem funkcji a nadpisaniem funkcji za pomocą przykładów.

Film wyjaśniający