Kakšna je razlika med virtualno funkcijo in preglasitvijo funkcij?
Kakšna je razlika med virtualno funkcijo in preglasitvijo funkcij?

Video: Kakšna je razlika med virtualno funkcijo in preglasitvijo funkcij?

Video: Kakšna je razlika med virtualno funkcijo in preglasitvijo funkcij?
Video: Relationship between Virtual Functions, Pure Virtual Functions and Abstract Classes in OOP explained 2024, Maj
Anonim

Virtualne funkcije ne more biti statičen in tudi prijatelj ne more biti funkcijo drugega razreda. Vedno so opredeljeni v osnovnem razredu in preglasil v izpeljanem razredu. Za izpeljani razred ni obvezno preglasi (ali ponovno definirajte virtualna funkcija ), v tem primeru različica osnovnega razreda funkcijo se uporablja.

Poleg tega, kakšna je razlika med virtualno funkcijo in čisto virtualno funkcijo?

Glavni razlika med ' virtualna funkcija" in "čista virtualna funkcija 'je to' virtualna funkcija ' ima svojo definicijo v osnovni razred in tudi dedovani izpeljani razredi ga na novo definirajo. The čista virtualna funkcija nima definicije v osnovni razred, vsi dedovani izpeljani razredi pa ga morajo na novo definirati.

Kasneje se postavlja vprašanje, kaj je preglasitev funkcij v C++? Preglasitev funkcije C++ . Če izpeljani razred definira isto funkcijo kot je opredeljeno v svojem osnovnem razredu, je znano kot preglasitev funkcije v C++. Uporablja se za doseganje polimorfizma med izvajanjem. Omogoča vam, da zagotovite specifično izvedbo funkcijo ki ga že zagotavlja njegov osnovni razred.

Prav tako se ljudje sprašujejo, zakaj uporabljamo virtualne funkcije?

Virtualne funkcije so uporablja podpirati "Polimorfizem časa izvajanja". Ko virtualna funkcija se pokliče z uporabo kazalca osnovnega razreda, se prevajalnik med izvajanjem odloči, katera različica funkcijo t.j. je treba poklicati različico osnovnega razreda ali preglašeno različico izpeljanega razreda. To se imenuje polimorfizem časa izvajanja.

Ali lahko preglasite nenavidezno funkcijo v C++?

V C++ vsi člani razreda funkcije so ne - virtualno privzeto. oni lahko biti narejen virtualno z uporabo virtualno ključna beseda v funkcijo podpis. Kot je navedeno zgoraj če the funkcijo osnovnega razreda je izdelan virtualno nato pa funkcijo izpeljanega ali otroškega razreda funkcijo z istim imenom lahko preglasi osnovnega razreda funkcijo.

Priporočena: