Preťaženie funkcie verzus potlačenie v C ++

Autor: Laura McKinney
Dátum Stvorenia: 4 Apríl 2021
Dátum Aktualizácie: 5 Smieť 2024
Anonim
VEDOMIE A OSOBNOSŤ. OD VOPRED MŔTVEHO K VEČNE ŽIVÉMU (slovenské titulky)
Video: VEDOMIE A OSOBNOSŤ. OD VOPRED MŔTVEHO K VEČNE ŽIVÉMU (slovenské titulky)

Obsah

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ákladpreťaženieprvoradý
zmyselPreť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 naviazaniuVo 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

  1. Preťaženie funkcie v C ++ je polymorfizmus kompilácie, zatiaľ čo v C ++ je premostenie run-time
  2. Pri preťažení existuje konkrétne kľúčové slovo, zatiaľ čo „Virtuálne“ je prepísanie konkrétneho kľúčového slova.
  3. Vo funkcii preťaženia existuje kompilácia času, zatiaľ čo vo funkcii potlačenia je runtime
  4. 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.

Vysvetľujúce video