Jaký je rozdíl mezi virtuální funkcí a čistě virtuální funkcí v C++?
Jaký je rozdíl mezi virtuální funkcí a čistě virtuální funkcí v C++?

Video: Jaký je rozdíl mezi virtuální funkcí a čistě virtuální funkcí v C++?

Video: Jaký je rozdíl mezi virtuální funkcí a čistě virtuální funkcí v C++?
Video: Relationship between Virtual Functions, Pure Virtual Functions and Abstract Classes in OOP explained 2024, Duben
Anonim

Hlavní rozdíl mezi ' virtuální funkce“a „čistá virtuální funkce“ .'je to' virtuální funkce “má svou definici v základní třída a také dědící odvozené třídy ji předefinují. The čistě virtuální funkce nemá definici v základní třída a všechny zděděné odvozené třídy ji musí předefinovat.

Co je tímto způsobem čistá virtuální funkce C++?

Čistě virtuální funkce a abstraktní třídy v C++ Nemůžeme vytvářet objekty abstraktních tříd. A čistě virtuální funkce (nebo abstrakt funkce ) v C++ je virtuální funkce pro kterou nemáme implementaci, pouze ji deklarujeme. A čistě virtuální funkce se deklaruje přiřazením 0 v deklaraci.

Kromě výše uvedeného, co je virtuální funkce a virtuální třída? A virtuální funkce je členem funkce uvnitř základny třída které předefinujeme v odvozeném třída . Je deklarován pomocí virtuální klíčové slovo. Když třída obsahující virtuální funkce je zděděný, odvozený třída redefinuje virtuální funkce aby vyhovovala jeho vlastním potřebám.

Co je v tomto ohledu virtuální a čistě virtuální funkce vysvětlit na příkladu?

A čistě virtuální funkce je funkce která musí být v odvozené třídě přepsána a nemusí definovaný . A virtuální funkce je prohlášeno za „ čistý ” pomocí zvláštní syntaxe =0. Pro příklad : class Base {

Jaké je použití virtuálních funkcí?

Virtuální funkce zajistit, aby byla správná funkce je voláno pro objekt, bez ohledu na typ odkazu (nebo ukazatele), pro který byl použit funkce volání. Funkce jsou deklarovány s a virtuální klíčové slovo v základní třídě. Řešení funkce volání se provádí za běhu.