Hirdetés
- Milyen videókártyát?
- Nem indul és mi a baja a gépemnek topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- HiFi műszaki szemmel - sztereó hangrendszerek
- Házi hangfal építés
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Kormányok / autós szimulátorok topikja
- Milyen monitort vegyek?
- Milyen RAM-ot vegyek?
- Azonnali informatikai kérdések órája
Ú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!
- Xbox Series X|S
- Milyen videókártyát?
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Gyúrósok ide!
- eBay-es kütyük kis pénzért
- Milyen autót vegyek?
- Cyberpunk 2077
- Samsung Galaxy A54 - türelemjáték
- Xiaomi 14 - párátlanul jó lehetne
- Okos Otthon / Smart Home
- További aktív témák...
- HP Elitebook 850 - i5 proci / 16gb memória/ 500gb m2 SSD
- Gamer PC - R7 3800X, RTX 3060ti és 16gb RAM + GARANCIA
- SAMSUNG (LS43FM700UUXUF) 4K GAMER SAMART MONITOR! 2025 MODELL! AKCIÓ
- MSI Cubi NUC 1M Intel Core 7 150U 16GB DDR5 512 NVMe SSD 2x2.5GBE LAN Wifi 7 Win 11 Pro garancia
- iPhone 16 Pro Max 256GB Natural Titanium 2028.-ig Garancia 100% akku
- GYÖNYÖRŰ iPhone 12 Mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3852, 100% Akksi
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B760 i7 14900K 32GB DDR5 1TB SSD RX 9070 XT 16GB ASUS TUF Gaming GT501 CM 750W
- HP ZBook Fury G7 Intel Core i7-10850H Refurbished - Garancia
- MacBook felvásárlás!! MacBook, MacBook Air, MacBook Pro
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


