Preťaženie funkcie verzus potlačenie v C ++
Obsah
- Obsah: Rozdiel medzi preťažením funkcií a potlačením v C ++
- Porovnávacia tabuľka
- preťaženie
- prvoradý
- Kľúčové rozdiely
- záver
- Vysvetľujúce video
Kľúčovým rozdielom medzi preťažením funkcií a prepísaním v C ++ je to, že preťaženie funkcií v C ++ je polymorfizmus v kompilácii, zatiaľ čo prepracovanie v C ++ je polymorfizmus v run-time.
Použitie jedného mena pre viac foriem a typov je známe ako polymorfizmus. Polymorfizmus je jedným z najdôležitejších konceptov objektovo orientovaného programovania. Existuje mnoho spôsobov, ako implementovať polymorfizmus, ktorý funguje preťažením, prvoradou a virtuálnou funkciou. Preťaženie funkcií v C ++ je polymorfizmus v kompilácii, zatiaľ čo v C ++ je prekonávací polymorfizmus.
Preťaženie je kompilovaný časový polymorfizmus. Preťaženie poskytuje spoločné rozhranie pre viacero metód. Priemerný kód preťaženia obsahuje pri predefinovaní rovnaký názov funkcie. Preťaženie spôsobí, že jedna preťažená funkcia sa líši od ostatných funkcií. Existujú rôzne parametre funkcie preťaženia.
Polymorfizmus za behu je známy ako prvoradý. Prepísanie sa dosiahne pomocou kľúčového slova funkcie, ktoré je virtuálne. Toto kľúčové slovo sa používa v základnej triede. Keď odvodená trieda nanovo definuje funkciu, nemožno prepísať funkciu. Prepísanie v C ++ určuje, ktorá verzia funkcie sa volá.
Obsah: Rozdiel medzi preťažením funkcií a potlačením v C ++
- Porovnávacia tabuľka
- preťaženie
- prvoradý
- Kľúčové rozdiely
- záver
- Vysvetľujúce video
Porovnávacia tabuľka
základ | preťaženie | prvoradý |
zmysel | Preťaženie funkcií v C ++ je polymorfizmus kompilácie | Prevažujúca funkcia v C ++ je run-time polymorfizmus.
|
kľúčové | Pri preťažení existuje konkrétne kľúčové slovo | „Virtuálne“ je konkrétne kľúčové slovo s funkciou potlačenia. |
dosiahnutie | Vo funkcii preťaženia existuje kompilácia času. | Vo funkcii potlačenia je dosiahnutý čas vykonávania. |
viazanie | Pri preťažení funkcií dochádza k predčasnému naviazaniu | Vo funkcii potlačenia existuje oneskorená väzba |
preťaženie
Preťaženie je kompilovaný časový polymorfizmus. Preťaženie poskytuje spoločné rozhranie pre viacero metód. Priemerný kód preťaženia obsahuje pri predefinovaní rovnaký názov funkcie. Preťaženie spôsobí, že jedna preťažená funkcia sa líši od ostatných funkcií. Existujú rôzne parametre funkcie preťaženia.
prvoradý
Polymorfizmus za behu je známy ako prvoradý. Prepísanie sa dosiahne pomocou kľúčového slova funkcie, ktoré je virtuálne. Toto kľúčové slovo sa používa v základnej triede. Keď odvodená trieda nanovo definuje funkciu, nemožno prepísať funkciu. Prepísanie v C ++ určuje, ktorá verzia funkcie sa volá.
Kľúčové rozdiely
- Preťaženie funkcie v C ++ je polymorfizmus kompilácie, zatiaľ čo v C ++ je premostenie run-time
- Pri preťažení existuje konkrétne kľúčové slovo, zatiaľ čo „Virtuálne“ je prepísanie konkrétneho kľúčového slova.
- Vo funkcii preťaženia existuje kompilácia času, zatiaľ čo vo funkcii potlačenia je runtime
- Pri funkčnom preťažení dochádza k skorému viazaniu, zatiaľ čo pri funkčnom potlačení dochádza k oneskorenému viazaniu
záver
V tomto článku vyššie vidíme jasný rozdiel medzi preťažením funkcií a potlačením funkcií pomocou príkladov.