Hirdetés
- Nem indul és mi a baja a gépemnek topik
- Pánik a memóriapiacon
- Őrületes specifikációkkal rendelkezik a Tachyum csodaprocesszora
- Hővezető paszták
- Meghalt a Windows 10, éljen a Windows 10!
- ThinkPad (NEM IdeaPad)
- VR topik (Oculus Rift, stb.)
- Dell notebook topic
- Milyen RAM-ot vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
Ú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!
- Nem indul és mi a baja a gépemnek topik
- Pánik a memóriapiacon
- Őrületes specifikációkkal rendelkezik a Tachyum csodaprocesszora
- BestBuy topik
- Torrent meghívó kunyeráló
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Autós topik
- Óra topik
- Hővezető paszták
- World of Tanks - MMO
- További aktív témák...
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPad 9th Gen 256GB, Wi-Fi+Cellular, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy A53 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- 144 - Lenovo LOQ (15ARP9) - AMD Ryzen 7 7435HS, RTX 4060 (ELKELT)
- Bomba ár! HP Elite X2 1013 G3 - i7-8650U I 16GB I 512SSD I 13" 3K Touch I Cam I W11 I Garancia!
- Nuki Smart Lock Ultra okoszár
- Apple iPhone 13 Pro Max / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:87%
- GYÖNYÖRŰ iPhone 13 Pro 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3359
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


