- PLC programozás
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen széket vegyek?
- Nagyon nem szokványos módon ment tönkre egy ASML gép Kínában…
- Milyen videókártyát?
- Meghalt a Windows 10, éljen a Windows 10!
- Gigabyte alaplap topik
- Bemutatkozott a HHKB legújabb, Topre kapcsolókkal szerelt billentyűzete
- Apple MacBook
- Milyen processzort vegyek?
Új hozzászólás Aktív témák
-
Vico87
tag
válasz
jattila48
#1878
üzenetére
Az egyik megoldás, ha Base** példányt vár a függvényed és létrehozáskor is Base**-ba pakolod a Derived példányaidat. Ez akkor jó, ha ki akarod használni a polimorfizmust és a kollekciód heterogén, azaz statikus típusa Base* tömb, de az egyes elemek dinamikus típusa elemenként eltérő.
Ha biztosan csak Derived példányokat akarsz átadni és ez nem fog változni, akkor minek Base* tömb? A megoldás, hogy a függvényed Derived* tömböt kapjon.
Megjegyzés: a fordító számára nincs különbség Base** és Base*[] között. Az, hogy számodra szemantikailag a két dolog eltérő, az jogos, de a szándékodat (hogy ez most egy Base* tömb, vagy pedig egy Base példányra mutató mutatónak mutatója) a tömb technikai megvalósítása (memóriaterületre pointer) miatt nem tudja megvalósítani a fordító. Csak akkor tudná kitalálni a pontos konverziót, ha pontosan tudná, hogy a Base* tömbödben mennyi példány van, de ezt nem tudhatja, mivel ez futási időben derül csak ki és függvényhívásonként nem konstans.
Ez a konverzió olyan esetben veszélyes, amilyet írtál: egyik leszármazottból konvertálás másik ágon lévőbe, például a tömbödben nem csak Derived*-ok vannak, hanem Derived2*-ok is.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- (Használt/Used) Huawei Mate 20 Pro - 128 GB - Midnight Blue (Unlocked/Kártyafüggetlen)
- Gigabyte B450M S2H + Ryzen 5 1400 + MSI GTX 1650 Super 4GB
- "Szinte Új" iPad Pro 12.9 (3. gen) + Apple Pencil 2 + Smart Folio tok
- ASUS TUF Gaming VG34VQL3A 34" Ívelt Gamer Monitor
- AMD Ryzen 5 5600/3080/1TB SSD/32Gb RAM/850W GOLD
- Számlás!Windows 10 Pro 11 Pro,Windows 10 Home 11 Home, Office 2016,2019,2021 ,Vírusirtok,Mac
- ÁRGARANCIA! Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- HP EliteOne 800 G5 All-in-One i5-9500 32GB 1000GB 23.8" Érintőkijelző!! 1 év garancia
- Windows 10 / 11 Pro Retail aktiváló kulcs Azonnal szállítással, számlával, garanciával!
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest



