Kezdőoldal » Számítástechnika » Programozás » C++ -ban, mi az a dynamic_cast...

C++ -ban, mi az a dynamic_cast, és, hogy kell használni?

Figyelt kérdés
2012. nov. 23. 04:23
 1/5 anonim ***** válasza:
2012. nov. 23. 07:22
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Lényeg az,hogyha többalakúságnál az az ha egy bázisosztályhoz rendeled a származtatott osztály létrehozott objektumának a memóriacímét akkor ezzel nem fogod tudni elérni a származtatott osztály olyan metódusait amik nincsenek virtuálisként deklarálva a bázisosztályban.


De ha te mégis el szeretnéd velük érni akkor nem tehetsz mást minthogy létrehozol egy származtatott osztály típusú objektumot és azzal eléred.


A dinamikus típusváltással ezt könnyen és biztonságosan megteheted.Azért jó a dinamikus típusváltás mert ha nem tudod még fordítási időben,hogy pontosan milyen objektumot akarsz kasztolni akkor a dynamic_cast - ot használva nem fog összeomlani a programod futás közben,hogyha esetleg olyan objektumot akarsz konvertálni amit nem is lehet valójában például x típusra.

2012. nov. 23. 07:39
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:

Kezdő vagyok VÁLASZA:

---------

Lényeg annyi,hogyha:

X *x = dynamic_cast<X*>(&obj) ;

//Hogyha itt az obj objektum memóriacíme egy X típusú objektumra mutat akkor vissza adja annak memóriacímét és bele kerül *x be.Ellenkező esetben NULL ad vissza.

2012. nov. 23. 07:43
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

Rosszul írtam így helyes:

//Hogyha itt az obj objektum X típusú,akkor vissza adja annak memóriacímét és bele kerül *x be.Ellenkező esetben NULL ad vissza.

2012. nov. 23. 07:45
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Azt hiszem az előzőt is jól írtam xD

Na mindegy majd jön iostream.

2012. nov. 23. 07:45
Hasznos számodra ez a válasz?

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!