- Fotók, videók mobillal
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Milyen okostelefont vegyek?
- Az iPhone hajthatatlanságán gúnyolódik a Samsung
- Poco F7 Pro - jó, de az amatőr sem rossz
- Google Pixel topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Megjött a jubileumi Pixel széria
- iPhone topik
- Végre bemutatkozott a Pixel 8 és a Pixel 8 Pro
Ú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!
- Gyúrósok ide!
- Autószerelők, autószerelés
- Vizsgálat indult, a Meta chatbot gyerekekkel folytatott romantikus beszélgetést
- Bambu Lab 3D nyomtatók
- Autós topik
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Azonnali fotós kérdések órája
- Fotók, videók mobillal
- Fogyjunk le!
- TCL LCD és LED TV-k
- További aktív témák...
- Eladó Ryzen 7 7700X, 7800 XT, 1Tb M.2, 750W, 32Gb DDR5 AM5 gamer pc!
- MINI PC HP PRODESK 600 G2 G3 G4 G5 i3 és i5 6-9. gen gar. Budapest MPL Foxpost
- AZTA! HP EliteBook 840 G8 Fémházas Laptop Ultrabook 14" -60% i7-1185G7 16/512 FHD IPS Iris Xe
- Asus P8H61-M LX R2.0 LGA 1155 alaplap, + Quad Core i5-2500 CPU
- LEGO Technic - Bugatti Chiron (42083)
- GYÖNYÖRŰ iPhone 12 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3302
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Macbook Pro 2019 // i5 // 1TB // Számla+Garancia //
- Bomba Ár! Fujitsu LifeBook E780 - i5 I 4GB I 250GB I DVDRW I 15,6" HD I Cam I W10 I Garancia!
Állásajánlatok
Cég: FOTC
Város: Budapest