Hvad er forskellen mellem virtuel funktion og ren virtuel funktion i C++?
Hvad er forskellen mellem virtuel funktion og ren virtuel funktion i C++?

Video: Hvad er forskellen mellem virtuel funktion og ren virtuel funktion i C++?

Video: Hvad er forskellen mellem virtuel funktion og ren virtuel funktion i C++?
Video: Relationship between Virtual Functions, Pure Virtual Functions and Abstract Classes in OOP explained 2024, Kan
Anonim

Det vigtigste forskel mellem ' virtuel funktion' og 'ren virtuel funktion ' er det ' virtuel funktion ' har sin definition i basisklassen og også de arvende afledte klasser omdefinerer den. Det ren virtuel funktion har ingen definition i basisklassen, og alle de nedarvede afledte klasser skal omdefinere den.

På denne måde, hvad er en ren virtuel funktion C++?

Rene virtuelle funktioner og abstrakte klasser i C++ Vi kan ikke skabe objekter af abstrakte klasser. EN ren virtuel funktion (eller abstrakt fungere ) i C++ er en virtuel funktion som vi ikke har implementering for, erklærer vi det kun. EN ren virtuel funktion erklæres ved at tildele 0 i erklæring.

Udover ovenstående, hvad er virtuel funktion og virtuel klasse? EN virtuel funktion er medlem fungere inden for basen klasse at vi omdefinerer i en afledt klasse . Det erklæres ved hjælp af virtuelle søgeord. Når en klasse indeholdende virtuel funktion er nedarvet, det afledte klasse omdefinerer virtuel funktion for at passe til sine egne behov.

I denne forbindelse, hvad er virtuel og ren virtuel funktion forklare med eksempel?

EN ren virtuel funktion er en fungere der skal tilsidesættes i en afledt klasse og behøver ikke at være det defineret . EN virtuel funktion er erklæret at være ren ” ved at bruge den nysgerrige =0-syntaks. Til eksempel : klasse Base {

Hvad er brugen af virtuelle funktioner?

Virtuelle funktioner sikre, at den rigtige fungere kaldes for et objekt, uanset hvilken type reference (eller pointer), der bruges til fungere opkald. Funktioner er deklareret med en virtuelle nøgleord i basisklassen. Løsningen af fungere opkaldet foretages ved Run-time.