A virtuális függvényeket minek találták ki, ha ugyanaz mint a függvényfelülírás?
Figyelt kérdés
2012. máj. 22. 19:30
1/3 anonim válasza:
Már nem emlékszem arra, hogy miben különböznek, csak arra, hogy márpedig nem viselkednek minden helyzetben ugyanúgy.
2/3 iostream válasza:
Pontosan azért, mert nem ugyanaz.
3/3 iostream válasza:
"Az üzenet témája: C++
Az üzenet szövege: Hi.
Legyél szíves elmagyarázni,hogy miért nem ugyanaz."
Ha "felülírod" akkor elfeded. Ha virtuális függvényt csinálsz, akkor dinamikus kötést teszel lehetővé. Két teljesen más dolog, mondhatni függetlenek egymástól.
Példa.
class A
{
void f();
virtual void g();
};
class B: public A
{
void f(int);
virtual void g();
};
A* a = new B();
a->f(); //A::f-et hívja
a->g(); //B::g-t hívja
B* b = new B();
b->f(); //fordítási hiba
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!