2025 Autor: Lynn Donovan | [email protected]. Naposledy zmenené: 2025-01-22 17:39
Virtuálne funkcie nemôže byť statický a tiež nemôže byť priateľom funkciu inej triedy. Sú vždy definované v základnej triede a prepísané v odvodenej triede. Pre odvodenú triedu to nie je povinné prepísať (alebo predefinovať virtuálna funkcia ), v takom prípade verzia základnej triedy funkciu sa používa.
Ďalej, aký je rozdiel medzi virtuálnou funkciou a čistou virtuálnou funkciou?
Hlavný rozdiel medzi ' virtuálna funkcia“a „čistá virtuálna funkcia 'je to' virtuálna funkcia “má svoju definíciu v základná trieda a tiež zdedené odvodené triedy ju predefinujú. The čistá virtuálna funkcia nemá definíciu v základnú triedu a všetky zdedené odvodené triedy ju musia predefinovať.
Následne je otázkou, čo je funkcia prepisujúca v C++? Prepísanie funkcií C++ . Ak odvodená trieda definuje to isté funkciu ako je definované vo svojej základnej triede, je známe ako prepísanie funkcie v C++. Používa sa na dosiahnutie polymorfizmu za behu. Umožňuje vám poskytnúť špecifickú implementáciu funkciu ktorý už poskytuje jeho základná trieda.
Podobne sa ľudia pýtajú, prečo používame virtuálne funkcie?
Virtuálne funkcie sú použité na podporu „Polymorfizmu času behu“. Keď virtuálna funkcia sa volá pomocou ukazovateľa základnej triedy, kompilátor sa za behu rozhodne, ktorá verzia funkciu má sa volať verzia základnej triedy alebo prepísaná verzia odvodenej triedy. Toto sa nazýva Run time Polymorphism.
Môžete prepísať nevirtuálnu funkciu v C++?
V c++, všetci členovia triedy funkcie sú nie - virtuálne predvolene. Oni môcť vyrobené virtuálne pomocou virtuálne kľúčové slovo v funkciu podpis. Ako je uvedené vyššie ak a funkciu základnej triedy virtuálne potom funkciu odvodených alebo detských tried funkciu s rovnakým názvom môže prepísať základnej triedy funkciu.
Odporúča:
Aký je rozdiel medzi Pebble Tec a Pebble Sheen?
Pebble Tec je vyrobený z prírodných, leštených kamienkov, ktoré vytvárajú hrboľatú textúru a nekĺzavý povrch. Pebble Sheen obsahuje rovnakú technológiu ako Pebble Tec, ale používa menšie kamienky pre hladší povrch
Aký je rozdiel medzi kognitívnym psychológom a kognitívnym neurovedcom?
Kognitívna psychológia je viac zameraná na spracovanie informácií a správanie. Kognitívna neuroveda študuje základnú biológiu spracovania informácií a správania. v centre kognitívnej neurovedy
Aký je rozdiel medzi montážou a demontážou?
Spočíva v tom, že zostava je (výpočtová) v sieti Microsoft, stavebnom bloku aplikácie podobnej dll, ale obsahuje spustiteľný kód aj informácie, ktoré sa bežne nachádzajú v knižnici typov knižnice, informácie o knižnici typov v zostave, nazývanej manifest, opisujú verejné funkcie, údaje, triedy a verzie
Aký je rozdiel medzi virtuálnou funkciou a čistou virtuálnou funkciou v C++?
Hlavný rozdiel medzi „virtuálnou funkciou“a „čistou virtuálnou funkciou“je v tom, že „virtuálna funkcia“má svoju definíciu v základnej triede a tiež ju predefinujú zdedené odvodené triedy. Čistá virtuálna funkcia nemá žiadnu definíciu v základnej triede a všetky zdedené odvodené triedy ju musia predefinovať
Aký je rozdiel medzi prepísaním metódy a skrytím metódy?
Pri prepisovaní metódy, keď referenčná premenná základnej triedy ukazuje na objekt odvodenej triedy, potom zavolá prepísanú metódu v odvodenej triede. Pri skrývaní metódy, keď referenčná premenná základnej triedy ukazuje na objekt odvodenej triedy, zavolá skrytú metódu v základnej triede