Przeciążenie funkcji a przesłonięcie w C ++
Zawartość
- 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
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
Podstawa | Przeciążenie | Nadrzędny |
Znaczenie | Przeciąż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ązanie | W 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
- Przeciążenie funkcji w C ++ to polimorfizm w czasie kompilacji, podczas gdy nadpisywanie funkcji w C ++ to czas wykonywania
- W przypadku przeciążenia występuje określone słowo kluczowe, natomiast „Wirtualne” to określone słowo kluczowe w przypadku nadpisywania funkcji.
- W funkcji przeciążania osiąga się czas kompilacji, podczas gdy w funkcji nadpisywania występuje czas działania
- 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.