- OLED TV topic
- Milyen videókártyát?
- iPad topik
- Házimozi haladó szinten
- Home server / házi szerver építése
- Milyen monitort vegyek?
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Sugárkövetés nélküli sugárkövetés felé menetel az új PlayStation
- UHD filmek lejátszása
Új hozzászólás Aktív témák
-
modder
aktív tag
válasz
Blaise7 #1146 üzenetére
Helló, természetesen igen, de nem pontosan abban a formában, ahogy leírtad.
Heterogén kollekciónak hívják, és a lényeg, hogy bármilyen osztály objektumait beleteheted, amik a kollekció típusának leszármazottai.
Legyen
class Os {};
class Gyerek: public Os {};
Os* tomb[10];Ahogy látod Os* (azaz Os-re mutato pointer) típusokat tárolok a tombben, és ha hozzá akarok adni egy elemet, akkor a címét kell hozzáadni:
Os[0] = new Gyerek;
vagyGyerek gyerek;
Os[1] = &gyerek;Ez az egyetlen módja, hogy egy tömbben gyerek osztályokat is tudj tárolni. Az oka az, hogy a két osztály memóriatérképe eltérő. Amíg Os-ben lehet pl. 1db int, addig Gyerekben legyen 10db float, plusz az Os 1db intje.
Ha Os tipusu tombot inicializálsz, akkor a memóriában (a te esetedben) 10db Os osztály méretű hely foglalódna a memóriában, ami a fentiekből adódóan 10 * 1db int-et jelentene.
Erre a helyre nyilván nem férne bele a 10 * (10db float + 1db int), ami a gyerek osztály mérete.Az egyetlen módszer, hogy pointer tömböt inicializálsz, mert egy pointer egy int méretű, és bármilyen memóriacímre mutathat.
Remélem érthető voltam, keress rá a C++ heterogén kollekcióra.
Ú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!
- EVGA SuperNOVA 550 GM SFX+ATX
- ASUS Dual GeForce RTX 4070 SUPER OC Edition 12GB
- Lenovo Ideapad Flex 5 - 14"FHD IPS Érintő - Ryzen 3 5300U - 8GB - 256GB SSD - Win11 - MAGYAR
- !AKCIÓ! Garanciás Klipsch R-120SW 30cm aktív mélysugárzó SubWoofer - 200W RMS / 400W Peak
- Eladó megbízható, szép Toshiba Satelite C850
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- GYÖNYÖRŰ iPhone 12 Pro Max 256GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS2116, 100% Akkumul
- Nintendo Switch V2
- LG 48C2 - 48" OLED EVO - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen5 CPU
- HIBÁTLAN iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3276
Állásajánlatok
Cég: FOTC
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest