Ú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!
- EAFC 25
- Milyen házat vegyek?
- LordAthis: Ismét egy "Idióta" A.I. Projekt, hogy meglovagolja a trendeket...
- BestBuy ruhás topik
- TV antenna és jelerősítés
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Aurát vált a Vivo V60
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Azonnali fáradt gőzös kérdések órája
- További aktív témák...
- Lenovo Ideapad 330 12 GB RAM 256 GB SSD eladó
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple watch Series 10 42mm Silver 2027.05. Apple jótállás
- Nad Masters M10 BluOs integrált erősítő és hálózati média lejátszó
- Apple Watch Ultra 2 49mm Esim, Új állapotban, Akku:100%, 36 hónap Garancia, Titán Színben
- Apple Watch SE 2 44mm, Újszerű, 1 Év Garanciával
- BESZÁMÍTÁS! Samsung Galaxy S24 Ultra 5G 256GB okostelefon garanciával hibátlan működéssel
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB DDR4 1TB SSD Radeon Pro 5500M garanciával
- AKCIÓ! Apple Mac Studio M1 MAX 2022 32GB 512GB számítógép garanciával, hibátlan működéssel
- Dymo LabelWriter 400 - Hőpapíros címkenyomtató
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest