Hirdetés
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Luck Dragon: Asszociációs játék. :)
- Real Racing 3 - Freemium csoda
- Elektromos rásegítésű kerékpárok
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- hcl: Huawei Mate 10 kókányolás
- Brogyi: CTEK akkumulátor töltő és másolatai
- GoodSpeed: Pillangóhatás: F billentyű meghibásodása -új gamer számítógépasztal
Ú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!
- XPEnology
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Milyen egeret válasszak?
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Milyen légkondit a lakásba?
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Milyen videókártyát?
- Mibe tegyem a megtakarításaimat?
- Xbox Series X|S
- Kutya topik
- További aktív témák...
- Honor 400 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Lenovo X1 Yoga 4th - i5-8365U I 16GB I 512SSD I 14" FHD Touch I W11 I CAM I Garancia!
- Bomba ár! Lenovo X1 Yoga 1st - i7-6G I 8GB I 256SSD I 14" WQHD Sérült I HDMI I W10 I CAM I Garancia
- ZOTAC GAMING GeForce RTX 3070 Ti AMP Extreme Holo
- Asus Vivobook S 16 - 16" 3.2K OLED 120Hz - Ultra 5 125H - 16GB - 1TB - Win11 - MAGYAR -1 év garancia
- Lenovo ThinkPad X1 Active Noise Cancellation fejhallgató
- Bomba ár! Lenovo X1 Yoga 1st - i5-6G I 8GB I 512SSD I 14" FHD Touch I HDMI I W11 I CAM I Garancia
- LG 27GP850P-B - 27" NANO IPS - 2560x1440 - 180Hz 1ms - NVIDIA G-Sync - AMD FreeSync - HDR 400
- Vadiúj AM5 procik! Több darab kèszleten! Kamatmentes rèszletre is!
- Dell Precision 5560 i7-11850H vPro FHD+ 100%sRGB 16GB 512GB Nvidia Quadro T1200 1 év teljeskörű gar!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

