Mi a különbség a virtuális függvény és a funkció felülbírálása között?
Mi a különbség a virtuális függvény és a funkció felülbírálása között?
Anonim

Virtuális funkciók nem lehet statikus és nem lehet barát sem funkció egy másik osztályból. Ezek mindig az alaposztályban és a felülírva származtatott osztályban. A származtatott osztályok számára nem kötelező felülbírálni (vagy definiálja újra a virtuális funkció ), ebben az esetben az alaposztályú verzió funkció használt.

Továbbá mi a különbség a virtuális funkció és a tiszta virtuális függvény között?

A fő a különbség köztük ' virtuális függvény” és „tiszta virtuális függvény ' az, hogy a ' virtuális funkció ' megvan a maga definíciója ban,-ben alaposztály és az öröklődő származtatott osztályok is újradefiniálják. Az tiszta virtuális funkció nincs definíciója ban,-ben alaposztály, és az összes öröklő származtatott osztálynak újra kell definiálnia azt.

Ezt követően a kérdés az, hogy mi a függvény felülbírálása C++-ban? C++ függvény felülbírálása . Ha a származtatott osztály ugyanazt definiálja funkció az alaposztályában definiált módon az úgynevezett funkció felülbírálása C++ nyelven. Futásidejű polimorfizmus elérésére használják. Lehetővé teszi, hogy konkrét megvalósítást biztosítson a funkció amelyet már alaposztálya biztosít.

Hasonlóképpen azt kérdezik az emberek, hogy miért használunk virtuális függvényeket?

Virtuális funkciók vannak használt a "futásidejű polimorfizmus" támogatására. Amikor az virtuális funkció egy Base Class Pointer használatával hívják meg, a fordító futás közben dönti el, hogy melyik verziója funkció azaz a Base Class verziót vagy a felülírt származtatott osztály verziót kell meghívni. Ezt futásidejű polimorfizmusnak hívják.

Felülírhat egy nem virtuális függvényt C++-ban?

A c++ nyelven az összes osztálytag funkciókat vannak nem - virtuális alapértelmezés szerint. Ők tud tenni virtuális segítségével virtuális kulcsszó a funkció aláírás. Ahogy a fentiekben írják ha az funkció alaposztályú készül virtuális aztán a funkció származtatott vagy gyermek osztály funkció azonos névvel felülírhatja az Alap osztályé funkció.

Ajánlott: