Vad är skillnaden mellan virtuell funktion och ren virtuell funktion i C++?
Vad är skillnaden mellan virtuell funktion och ren virtuell funktion i C++?

Video: Vad är skillnaden mellan virtuell funktion och ren virtuell funktion i C++?

Video: Vad är skillnaden mellan virtuell funktion och ren virtuell funktion i C++?
Video: Your Mind vs. the Universe: Physicist Unravels Free Will & Duality 2024, April
Anonim

Den huvudsakliga skillnad mellan ' virtuell funktion" och "ren virtuell funktion ' är det ' virtuell funktion ' har sin definition i basklassen och även de ärvda härledda klasserna omdefinierar den. De ren virtuell funktion har ingen definition i basklass, och alla ärvda härledda klasser måste omdefiniera den.

På så sätt, vad är en ren virtuell funktion C++?

Rena virtuella funktioner och abstrakta klasser i C++ Vi kan inte skapa objekt av abstrakta klasser. A ren virtuell funktion (eller abstrakt fungera ) i C++ är en virtuell funktion som vi inte har implementering för, deklarerar vi bara det. A ren virtuell funktion deklareras genom att tilldela 0 i deklarationen.

Förutom ovan, vad är virtuell funktion och virtuell klass? A virtuell funktion är medlem fungera inom basen klass som vi omdefinierar i en härledd klass . Det deklareras med hjälp av virtuell nyckelord. När en klass som innehåller virtuell funktion är nedärvt, det härledda klass omdefinierar virtuell funktion för att passa sina egna behov.

I detta avseende, vad är virtuell och ren virtuell funktion förklara med exempel?

A ren virtuell funktion är en fungera som måste åsidosättas i en härledd klass och behöver inte vara det definierade . A virtuell funktion förklaras vara ren ” med hjälp av syntaxen curious =0. För exempel : klass Bas {

Vad är användningen av virtuella funktioner?

Virtuella funktioner se till att den korrekta fungera kallas för ett objekt, oavsett vilken typ av referens (eller pekare) som används för fungera ring upp. Funktioner deklareras med a virtuell nyckelord i basklass. Upplösningen av fungera samtalet görs vid Run-time.