Hva er forskjellen mellom virtuell funksjon og ren virtuell funksjon i C++?
Hva er forskjellen mellom virtuell funksjon og ren virtuell funksjon i C++?

Video: Hva er forskjellen mellom virtuell funksjon og ren virtuell funksjon i C++?

Video: Hva er forskjellen mellom virtuell funksjon og ren virtuell funksjon i C++?
Video: Написание 2D-игр на C с использованием SDL Томаса Лайвли 2024, April
Anonim

Hoved forskjell mellom ' virtuell funksjon' og 'ren virtuell funksjon ' er det ' virtuell funksjon ' har sin definisjon i basisklassen og også de arvende avledede klassene omdefinerer den. De ren virtuell funksjon har ingen definisjon i basisklassen, og alle de arvende avledede klassene må omdefinere den.

På denne måten, hva er en ren virtuell funksjon C++?

Rene virtuelle funksjoner og abstrakte klasser i C++ Vi kan ikke lage objekter av abstrakte klasser. EN ren virtuell funksjon (eller abstrakt funksjon ) i C++ er en virtuell funksjon som vi ikke har implementering for, erklærer vi det bare. EN ren virtuell funksjon er deklarert ved å tildele 0 i erklæring.

Foruten ovenfor, hva er virtuell funksjon og virtuell klasse? EN virtuell funksjon er medlem funksjon innenfor basen klasse som vi redefinerer i en derivert klasse . Det er deklarert ved hjelp av virtuell nøkkelord. Når en klasse inneholder virtuell funksjon er arvet, det avledede klasse omdefinerer virtuell funksjon for å passe sine egne behov.

I denne forbindelse, hva er virtuell og ren virtuell funksjon forklare med eksempel?

EN ren virtuell funksjon er en funksjon som må overstyres i en avledet klasse og trenger ikke være det definert . EN virtuell funksjon er erklært å være ren ” ved å bruke den nysgjerrige =0-syntaksen. Til eksempel : klasse Base {

Hva er bruken av virtuelle funksjoner?

Virtuelle funksjoner sikre at den riktige funksjon kalles for et objekt, uavhengig av typen referanse (eller peker) som brukes for funksjon anrop. Funksjoner er erklært med en virtuell nøkkelord i grunnklassen. Løsningen av funksjon samtalen gjøres ved Run-time.