Funkcijas pārslodze salīdzinājumā ar pārspīlēšanu C ++

Autors: Laura McKinney
Radīšanas Datums: 4 Aprīlis 2021
Atjaunināšanas Datums: 5 Maijs 2024
Anonim
C++20: Reaching for the Aims of C++ - Bjarne Stroustrup - CppCon 2021
Video: C++20: Reaching for the Aims of C++ - Bjarne Stroustrup - CppCon 2021

Saturs

Galvenā atšķirība starp funkciju pārslodzi un pārspīlēšanu C ++ ir tā, ka funkciju pārslodze C ++ ir kompilācijas laika polimorfisms, turpretī pārspīlējums C ++ ir izpildlaika polimorfisms.


Viena nosaukuma izmantošana vairākām formām un veidiem ir pazīstama kā polimorfisms. Polimorfisms ir viens no vissvarīgākajiem priekšmetiem orientētās programmēšanas jēdzieniem. Ir daudzi veidi, kā īstenot polimorfismu, kas darbojas ar pārslodzi, pārspīlēšanu un virtuālo funkciju. Funkciju pārslodze C ++ gadījumā ir kompilācijas laika polimorfisms, turpretī C ++ pārsvarā pārslodze ir izpildes laika polimorfisms.

Pārslodze ir apkopots laika polimorfisms. Pārslodze nodrošina kopēju saskarni vairākām metodēm. Vidējais pārslodzes kods satur to pašu funkcijas nosaukumu, kamēr tas tiek no jauna definēts. Pārslodzes dēļ viena pārslogota funkcija atšķiras no citas funkcijas. Pārslodzes funkcijas parametri ir dažādi.

Izpildes laika polimorfisms ir pazīstams kā sevišķi svarīgs. Pārvarēšana tiek panākta, izmantojot funkcijas atslēgvārdu, kas ir virtuāls. Šis atslēgvārds tiek izmantots pamatklasē. Ja atvasinātā klase atkārtoti definē funkciju, ignorēto funkciju nevar mainīt. C ++ ignorēšana nosaka, kura funkcijas versija tiek izsaukta.


Saturs: Atšķirība starp funkciju pārslodzi un pārspīlēšanu C ++

  • Salīdzināšanas tabula
  • Pārslodze
  • Pārmērīga
  • Galvenās atšķirības
  • Secinājums
  • Paskaidrojošs video

Salīdzināšanas tabula

PamatsPārslodzePārmērīga
NozīmeFunkciju pārslodze C ++ ir kompilācijas laika polimorfisms

Funkcijas pārsvars C ++ ir izpildes laika polimorfisms.

 

Atslēgvārds Pārslodzē ir noteikts atslēgvārds“Virtuāls” ir īpašs atslēgas vārds, kam ir funkcija.
Paveikums Pārslodzes funkcijā ir laika apkopošana.Funkciju pārsniegšanas gadījumā ir izpildīts izpildes laiks.
Saistošs Funkciju pārslodzes gadījumā notiek agrīna iesiešanaFunkciju pārsniegšanas gadījumā kavēšanās ir novēlota

Pārslodze

Pārslodze ir apkopots laika polimorfisms. Pārslodze nodrošina kopēju saskarni vairākām metodēm. Vidējais pārslodzes kods satur to pašu funkcijas nosaukumu, kamēr tas tiek no jauna definēts. Pārslodzes dēļ viena pārslogota funkcija atšķiras no citas funkcijas. Pārslodzes funkcijas parametri ir dažādi.


Pārmērīga

Izpildes laika polimorfisms ir pazīstams kā sevišķi svarīgs. Pārvarēšana tiek panākta, izmantojot funkcijas atslēgvārdu, kas ir virtuāls. Šis atslēgvārds tiek izmantots pamatklasē. Ja atvasinātā klase atkārtoti definē funkciju, ignorēto funkciju nevar mainīt. C ++ ignorēšana nosaka, kura funkcijas versija tiek izsaukta.

Galvenās atšķirības

  1. Funkciju pārslodze C ++ ir kompilācijas laika polimorfisms, turpretī funkciju pārsniegšana C ++ ir izpildes laiks
  2. Pārslodzē ir noteikts atslēgvārds, turpretī “Virtuāls” ir īpašs atslēgvārds, kas pārspēj funkciju.
  3. Pārslodzes funkcijā ir izpildīts laiks, turpretī funkciju pārsniegšanai ir izpildīts laiks
  4. Funkciju pārslodzes gadījumā notiek agrīna iesiešana, turpretī funkciju pārsniegšana ir novēlota

Secinājums

Iepriekš šajā rakstā mēs redzam skaidru atšķirību starp funkciju pārslodzi un funkciju pārsniegšanu ar piemēriem.

Paskaidrojošs video