Funktion Overbelastning vs. Overriding i C ++

Forfatter: Laura McKinney
Oprettelsesdato: 4 April 2021
Opdateringsdato: 5 Kan 2024
Anonim
Virtual Functions in C++
Video.: Virtual Functions in C++

Indhold

Den vigtigste forskel mellem funktionsoverbelastning og tilsidesættelse i C ++ er, at funktionsoverbelastning i C ++ er kompileringstids-polymorfisme, hvorimod overstyring i C ++ er en polymorfisme i løbet af tiden.


Brug af et navn til flere former og typer er kendt som polymorfisme. Polymorfisme er et af de vigtigste begreber inden for objektorienteret programmering. Der er mange måder at implementere polymorfisme, der fungerer overbelastning, altoverskyggende og virtuel funktion. Funktion overbelastning i C ++ er kompileringstid polymorfisme, mens tilsidesættelse af C ++ er en polymorfisme af kørsel.

Overbelastning er kompileret tidspolymorfisme. Overbelastning giver en fælles grænseflade til flere metoder. Overbelastning middelkode indeholder samme funktionsnavn, mens den omdefineres. Overbelastning gør en overbelastet funktion forskellig fra anden funktion. Der er forskellige parametre for overbelastningsfunktion.

Run-time polymorfisme er kendt som altoverskyggende. Overstyring opnås ved hjælp af et funktionelt nøgleord, der er virtuelt. Dette nøgleord bruges i baseklasse. Når den afledte klasse omdefinerer en funktion, kan den tilsidesatte funktion ikke ændres. Overstyring i C ++ bestemmer, hvilken version af funktionen der kaldes.


Indhold: Forskel mellem funktionsoverbelastning og overstyring i C ++

  • Sammenligningstabel
  • overbelastning
  • Overstyring
  • Vigtige forskelle
  • Konklusion
  • Forklarende video

Sammenligningstabel

BasisoverbelastningOverstyring
BetyderFunktion overbelastning i C ++ er kompileringstid polymorfisme

Funktionoverskridende i C ++ er en polymorfisme i løbet af tiden.

 

Søgeord Der er et specifikt nøgleord i overbelastning"Virtuel" er et specifikt nøgleord, når funktionen tilsidesættes.
gennemførelse I overbelastningsfunktion er der kompilering af tid.Når funktionen tilsidesættes, er der en gennemførelse af kørslen.
Binding Ved funktionsoverbelastning er der tidlig bindingNår funktionen tilsidesættes, er der for sen binding

overbelastning

Overbelastning er kompileret tidspolymorfisme. Overbelastning giver en fælles grænseflade til flere metoder. Overbelastning middelkode indeholder samme funktionsnavn, mens den omdefineres. Overbelastning gør en overbelastet funktion forskellig fra anden funktion. Der er forskellige parametre for overbelastningsfunktion.


Overstyring

Run-time polymorfisme er kendt som altoverskyggende. Overstyring opnås ved hjælp af et funktionelt nøgleord, der er virtuelt. Dette nøgleord bruges i baseklasse. Når den afledte klasse omdefinerer en funktion, kan den tilsidesatte funktion ikke ændres. Overstyring i C ++ bestemmer, hvilken version af funktionen der kaldes.

Vigtige forskelle

  1. Funktion overbelastning i C ++ er kompileringstid polymorfisme, mens funktion overstyring i C ++ er kørsel
  2. Der er et specifikt nøgleord i overbelastning, hvorimod “Virtuel” er et specifikt nøgleord, når funktionen tilsidesættes.
  3. I overbelastningsfunktion er der kompilering af tid, mens der i funktion, der tilsidesættes, er der en køretid
  4. Ved funktionsoverbelastning er der tidlig binding, mens der i funktion overstyres der er sen binding

Konklusion

I denne artikel ovenfor ser vi den klare forskel mellem funktionsoverbelastning og funktionsoverskridelse med eksempler.

Forklarende video