Mitä eroa on virtuaalisen toiminnon ja funktion ohituksen välillä?
Mitä eroa on virtuaalisen toiminnon ja funktion ohituksen välillä?

Video: Mitä eroa on virtuaalisen toiminnon ja funktion ohituksen välillä?

Video: Mitä eroa on virtuaalisen toiminnon ja funktion ohituksen välillä?
Video: Mitä Erasmus+-ohjelmakausi 2021 - 2027 tuo korkeakoulutukselle? 2024, Huhtikuu
Anonim

Virtuaaliset toiminnot ei voi olla staattinen eikä myöskään ystävä toiminto toisesta luokasta. Ne määritellään aina perusluokissa ja ohitettu johdetussa luokassa. Se ei ole pakollinen johdetulle luokalle ohittaa (tai määrittele uudelleen virtuaalinen toiminto ), tässä tapauksessa perusluokan versio toiminto käytetään.

Lisäksi, mitä eroa on virtuaalisen toiminnon ja puhtaan virtuaalitoiminnon välillä?

Pää ero välillä ' virtuaalinen toiminto" ja "puhdas virtuaalitoiminto ".' onko tuo ' virtuaalinen toiminto ' on määritelmänsä in perusluokka ja myös perivät johdetut luokat määrittelevät sen uudelleen. The puhdas virtuaalinen toiminto ei ole määritelmää in perusluokka, ja kaikkien perivien johdettujen luokkien on määritettävä se uudelleen.

Tämän jälkeen kysymys kuuluu, mikä on funktion ohitus C++:ssa? C++-funktion ohitus . Jos johdettu luokka määrittelee saman toiminto perusluokassaan määriteltynä se tunnetaan nimellä toiminnon ohittaminen C++:ssa. Sitä käytetään ajonaikaisen polymorfismin saavuttamiseen. Sen avulla voit tarjota tietyn toteutuksen toiminto jonka perusluokka tarjoaa jo.

Samoin ihmiset kysyvät, miksi käytämme virtuaalisia toimintoja?

Virtuaaliset toiminnot ovat käytetty "Ajonaikaisen polymorfismin" tukemiseen. Kun virtuaalinen toiminto kutsutaan perusluokkaosoittimella, kääntäjä päättää ajon aikana, mikä versiosta toiminto eli perusluokan versiota tai ohitettua johdettua luokkaversiota kutsutaan. Tätä kutsutaan ajonaikaiseksi polymorfismiksi.

Voitko ohittaa ei-virtuaalifunktion C++:ssa?

C++:ssa kaikki luokan jäsen toimintoja ovat ei - virtuaalinen oletuksena. Ne voi olla tehty virtuaalinen käyttämällä virtuaalinen avainsana toiminto allekirjoitus. Kuten yllä mainittiin jos the toiminto perusluokan valmistetaan virtuaalinen sitten toiminto johdetuista tai lapsiluokista toiminto samalla nimellä voi ohittaa perusluokan toiminto.

Suositeltava: